Aplicación Web muy lenta en TOMCAT
Hemos implementado una aplicación que al iniciar el servicio de TOMCAT funciona muy rápido, pero pasando las horas y cuando van ingresando mas usuarios se va poniendo lenta ( hasta 15 usuarios aprox.).
Verificando las estadísticas de uso RAM (20%) , CPU (25%)
Características de la maquina:
RAM 8GB
PROCESADOR i7
Windows Server 2008 64bit
TOMCAT 7
MySql 5.0
Struts2
No utilizamos servidor Web, lo publicamos directamente en TOMCAT.
-Xms1024m
PermGen = 1024
MaxPernGen = 1024
- Inicie sesión o regístrese para enviar comentarios
conexiones a base de datos
¿estas cerrado correctamente la conexion a la base de datos?
¿vuelve a su velocidad inicial despues de que los 15 usuarios dejan de usarla?, ¿en cuanto tiempo vuelve a su velocidad inicial?
¿tendras algun algoritmo relacionado con los usuarios que usan la aplicacion?
¿estas usando synchronized?
¿estas usando un patron singleton?
Son algunas preguntas que te pueden orientar a la resolucion de tus problemas.
Adicional a las preguntas que
Adicional a las preguntas que sugiere Beto, es importante que puedas monitorear tu aplicación, probablemente la memoria no se está liberando adecuadamente, usa JConsole, y monitorea el tomcat.
Y, adicionalente;¿Eventualmente la aplicación deja de funcionar?, ¿Has revisado los logs?
Con eso creo tienes ya con que iniciar :)
Saludos!!
---
Es probable que estén
Es probable que estén haciendo un mal uso de la memoria.
Para saberlo tienes que examinar el uso de la JVM, desde la versión 6 la distribución de Java tiene esta "Visual VM" que ayuda a diagnosticar problemas como esos.
Te paso el link.
En particular la sección "Profiling"
Abrelo, conectate a tu VM y examínala, es bastante intuitivo para empezar y ahí esta toda la doc.
Si lo usas y te ayuda estaría genial que regresaras y escribieras un post con todos tus hallazgos y como los resolviste.
Saludos