adaptacion y mejora continua de la performance de las aplicaciones

30
#GX24 Adaptación y mejora continua de la performance de las aplicaciones Simon De Uvarow [email protected]

Upload: genexus

Post on 19-Jun-2015

156 views

Category:

Technology


0 download

DESCRIPTION

Adaptacion y mejora continua de la performance de las aplicaciones

TRANSCRIPT

Page 1: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24 #GX24

Adaptación y mejora continua de la performance de las aplicaciones

Simon De Uvarow [email protected]

Page 2: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

En el ambiente de testing no hay

problemas

Los servidores están sobrados de

recursos

La base tá’ tranquilaza

Page 3: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Mantenimiento

Mantenimiento y mejora de la performance de aplicaciones basada en:

•  Registro / Bitácora de cambios •  Conocimiento del funcionamiento interno de los

componentes utilizados •  Monitorización

Page 4: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Agenda

•  Motivación –  Problemas que se presentan en producción

•  Conociendo el Sistema –  Logs e indicadores disponibles en el ambiente

•  Interpretando el Sistema –  Herramientas

•  Proceso –  Proceso de mejora continua

Page 5: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Problemas que se presentan en producción

Motivación

Page 6: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Mantenimiento en producción

Cambios de personal Cambios en el Hardware Actualizaciones de Sistemas Operativos, Servidores de App, versión del framework, drivers, etc. Nuevas funcionalidades o cambios en existentes Aumento volumen de la base de datos Aumenta la carga del sistema (usuarios usando la app.)

Hay que estar preparados para conocer el impacto de los

cambios, sobre todo los que están fuera de nuestro control

Page 7: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Mantenimiento en producción Desde el punto de vista del usuario

El sistema no responde El sistema responde, pero mensajes de error El sistema responde, pero muy “lento”

Desde el punto de vista de infraestructura

“La CPU del servidor nunca sobrepasa el 40% de uso, hay gigas de memoria disponible, y tanto el disco como la red tienen recursos más que sobrados para operar correctamente.” ¿Entonces que pasa? ¿Porqué se cae? ¿Porqué está lento?

Testing no encontró ningún problema

Los servidores están sobrados de

recursos

La base tá’

tranquilaza

Page 8: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Mantenimiento en producción

Nos falta información para identificar el problema!

Page 9: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Logs e indicadores disponibles en el ambiente

Conociendo el Sistema

Page 10: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Herramientas de APM Open Source Licenciadas

Helios OpNet – Riverbed

Moskito AppDynamics

Nagios New Relic

… …

Page 11: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Diagrama de Infraestructura

Diagrama de infraestructura + Plan de Monitorización inicial

Balanceador  

-  Recursos de Sistema Operativo -  Access logs con tiempo de Resp. -  Logs del balanceador

-  Recursos de SO -  AccessLogs + TdR -  Uso de memoria del proceso -  Información de aplicación: Exceptions Logs, GX Managment Enable -  Pools -  …

-  Recursos de SO -  Locks / seg -  SQLs más lentas

Cluster

App. Server 1 App. Server 2

Apps   Apps  

Page 12: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Logs

Page 13: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Logs

Page 14: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Interpretando el Sistema

Herramientas para extraer la información dentro de los datos

Page 15: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Recursos de SO

Balanceador  Cluster

App. Server 1 App. Server 2

Apps   Apps  

Usuarios  Usuarios  

ü NMon – NMon Analyzer ü  Perfmon – Genera logs y gráficas

Page 16: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Access Log Analyzer

Balanceador  Cluster

App. Server 1 App. Server 2

Apps   Apps  

Usuarios  Usuarios  

Page 17: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Access Log Analyzer Observaciones: -  Balanceador NO distribuye

equitativamente la carga entre los 2 servidores

-  El pico es de casi 6000 pedidos / minuto en los 2 servidores

-  Se identifican los momentos de menor carga para aplicar cambios en el ambiente

-  La carga en el sistema es similar durante el período monitorizado

Page 18: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Access Log Analyzer Observaciones: -  Hay excepciones en los servidores

(errores de programas) que llegan al usuario como errores HTTP 500.

-  Se llegó a un pico de 140 excepciones en 1 minuto.

Page 19: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Access Log Analyzer Otros reportes posibles:

•  Top 5, 10, URLs más lentas de cada intervalo •  Cantidad de HTTP reqs. Recibidos, agrupados por código de

respuesta •  Cantidad de respuestas de cada intervalo, agrupadas por

tiempo de respuesta •  Todos los tiempos de resp. de una determinada URL •  URLs que más aparecen en el Top de todos los intervalos •  …

Page 20: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Framework memory usage

Balanceador  Cluster

App. Server 1 App. Server 2

Apps   Apps  

Usuarios  Usuarios  

ü GCViewer ü  IBM Support Assistant + Plugins ü  JVisualvm

Page 21: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Framework memory usage Observaciones: -  Ambos servidores tienen suficiente

memoria para operar. -  No se observa degradación en el

uso de la memoria. -  Tiempo máximo de GC FULL fue

menor a 1 segundo.

Page 22: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

+ Herramientas

Existen muchas herramientas para cada tipo de log. En abstracta estamos desarrollando algunas que están liberadas a la comunidad. El código está disponible en GitHub. https://github.com/abstracta/

Page 23: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Interpretando el Sistema A corregir -  Corregir la programación para que

no lleguen errores HTTP 500 a los usuarios.

-  Configurar correctamente el balanceador de carga.

Page 24: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Proceso

Proceso de Mejora continua

Page 25: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Proceso

Objetivos

Reconocimiento de la infraestructura

Plan de monitorización

Aplicar la monitorización

Análisis de los resultados

Cambios / Correcciones

Page 26: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Proceso - Objetivos

¿Qué puedo hacer para mejorar los tiempos de respuesta?

¿Qué recurso está saturado?

¿Cuál es el cuello de botella que me va a impedir escalar en el futuro?

¿Cuántos recursos requiere una aplicación dada determinada carga en

el sistema para responder correctamente?

¿Qué puedo hacer para que consuma menos recursos?

¿Qué puedo hacer para que demore menos?

Page 27: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

DevOp – Nuevo Rol de IT

Development + Operations + Servicios -  Énfasis en la comunicación, colaboración e integración entre

desarrolladores y personal de ambientes o tecnología.

-  Objetivos -  Analizar resultados de monitorización en conjunto con

tecnología y desarrollo para mejorar la salud de los sistemas -  Desarrollo incorpora conocimiento de infra. a sus decisiones -  Tecnología adquiere conocimiento de las aplicaciones y sus

requerimientos para sus decisiones

Page 28: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Resumen Mantenimiento y mejora de la performance de aplicaciones basada en:

•  Conocimiento del funcionamiento interno de los componentes utilizados

•  Registro / Bitácora de cambios

•  Monitorización

Page 29: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

Temas relacionados

Hacer pruebas de performance para responder algunas preguntas planteadas en los objetivos de monitorización antes de pasar las aplicaciones a producción. Trabajo en equipo. Son muchos sistemas, son complejos y usan muchas tecnologías / frameworks. Es importante apoyarse en el equipo. Desarrolladores + administradores trabajando juntos.

Page 30: Adaptacion y mejora continua de la performance de las aplicaciones

#GX24

¿Preguntas?