Como publiqué en Performance drop after 5 days running web application, how to spot the bottleneck?, tengo un problema con una aplicación que se vuelve lenta después de funcionar por un tiempo.Cómo usar VisualVM para detectar el cuello de botella/problema
Tengo funcionando VisualVM e hice una instantánea entre diferentes momentos. Ahora la aplicación es muy lenta, pero no tengo idea de cómo detectar el cuello de botella. No tienen muchas diferencias entre sí y lo único que crece un poco es el Heap, que se recolecta con éxito después de un tiempo.
¿Alguien me puede dar algunos consejos?
Estas son las instantáneas (apps):
[1] http://www.2shared.com/file/W4XJ6HtE/application-1314108550032.html
[2] http://www.2shared.com/fadmin/22521338/f512f97e/application-1314097232727.apps.html
Gracias!
EDITAR: Mirando más de cerca, he notado que la CPU ni siquiera se usa mucho ... ¡y el sistema es realmente lento!
En la segunda instantánea (que va más de una hora, mientras que el primero va más de 4 segundos solamente) hay una cierta carga de la CPU y casi sin carga creada por el GC. Si la CPU es el cuello de botella, debe intentar establecer qué métodos están causando esto. Puedes hacer esto dentro de jvisualvm, también. – ziggystar
¿En qué servidor de aplicaciones se ejecuta la aplicación? ¿Está detrás de un front-end de servidor web? En caso afirmativo, ¿cómo están los 2 conectados (qué módulo)? – atrain