Académique Documents
Professionnel Documents
Culture Documents
Sergio Snchez
Liferay Support Engineer sergio.sanchez@liferay.com
#LiferayPerformance
Social Media
#LRESP2012 #LiferayPerformance
#LiferayPerformance
Agenda
La necesidad de las pruebas de rendimiento Metodologa Herramientas
#LiferayPerformance
#LiferayPerformance
Escenario de partida
Para evitar llegar a las siguientes situaciones... por qu el portal se cae?
Es conveniente prever un conjunto de pruebas de carga y su simultanea monitorizacin o posterior profiling de nuestra infraestructura de portal.
#LiferayPerformance
Metodologa
#LiferayPerformance
Metodologa
Proceso iterativo: varios ciclos de pruebas Proceso realimentado: las conclusiones del ciclo n se utilizan para el ciclo n+1 Cada ciclo de pruebas se puede asimilar a un ciclo PDCA: Inicio
#LiferayPerformance
#LiferayPerformance
#LiferayPerformance
#LiferayPerformance
Proceso de login y logout Visita a la portada (GET http://www.miportal.com/web/misitio) Login (POST a /c/portal/login) Logout (POST a /c/portal/logout)
1
5s
2
30s
3
2s
#LiferayPerformance
#LiferayPerformance
#LiferayPerformance
#LiferayPerformance
Fase INICIO: Definido Portada+login+logout + tiempo de respuesta login 95% < 500 ms
#LiferayPerformance
#LiferayPerformance
#LiferayPerformance
#LiferayPerformance
Memoria Hilos de ejecucin y monitores de la JVM Pool de conexiones a la base de datos Cachs Latencia de red Cdigo (en este caso se utilizar un Profiler)
#LiferayPerformance
Fase CHECK
El portal atiende el nmero de peticiones esperado? Se mantiene la QoS establecida?
SI NO
#LiferayPerformance
No se libera memoria en los ciclos de GC? Presentan interbloqueos en monitores de la JVM? El servidor de aplicaciones ofrece los hilos de ejecucin suficientes?
Hilos de ejecucin
#LiferayPerformance
Se cachean adecuadamente los objetos y se replican en un entorno de cluster? Presenta la red una latencia excesiva?
Latencia de red
#LiferayPerformance
Es posible que algn mtodo del cdigo no est lo suficientemente optimizado. En este caso, ser necesario recurrir a un Profiler para establecer el tiempo de ejecucin de cada mtodo.
#LiferayPerformance
Fase ACT
La fase CHECK mostraba el lugar donde actuar. Se trata de un recurso limitante? Es posible redimensionarlo?
SI NO
#LiferayPerformance
Fase ACT
Es el propio cdigo el que limita el rendimiento?
SI NO
#LiferayPerformance
Herramientas
#LiferayPerformance
Herramientas
Liferay utiliza un entorno de benchmarking para medir el rendimiento de la plataforma. Incluye las siguientes herramientas: Generacin del modelo de datos de Liferay: usuarios, contenidos Web, documentos, ...
#LiferayPerformance
Generacin de carga
Permite definir una navegacin y el nmero de hilos concurrentes que realizarn la navegacin. Permite configurar varias mquinas para que se comporten como inyectores de carga. Ofrece datos estadsticos como: Peticiones atendidas por unidad de tiempo
La media del tiempo de las peticiones La desviacin tpica del tiempo de las peticiones
#LiferayPerformance
Generacin de carga
#LiferayPerformance
Medida
Se distinguen dos tipos de herramientas para realizar la medida del rendimiento de una plataforma: Herramientas de monitorizacin. Permiten establecer medida en tiempo real.
Herramientas de profiling. Permiten tomar un snapshot de la ejecucin del portal durante un intervalo de tiempo para su posterior anlisis
#LiferayPerformance
Medida. Monitorizacin
CPU
Memoria
#LiferayPerformance
Medida. Monitorizacin
Cach
#LiferayPerformance
Medida. Profiling