Utilizamos Apache con JBOSS para alojar nuestra aplicación, pero encontramos algunos problemas relacionados con el manejo de hilos de mod_jk.Apache con JBOSS usando AJP (mod_jk) dando picos en el conteo de hilos
Nuestro sitio web tiene menos sitios web de tráfico y tiene un máximo de 200-300 usuarios concurrentes durante el tiempo de actividad pico de nuestro sitio web. A medida que crece el tráfico (no en términos de usuarios concurrentes, sino en términos de solicitudes acumulativas que llegaron a nuestro servidor), el servidor dejó de atender solicitudes por mucho tiempo, aunque no se bloqueó, pero no pudo atender la solicitud hasta 20 minutos. La consola del servidor JBOSS mostró que 350 hilos estaban ocupados en ambos servidores aunque hubo decir suficiente memoria libre, más de 1-1,5 GB (Se han usado 2 servidores para JBOSS que fueron de 64 bits, 4 GB de RAM asignada para JBOSS)
Para comprobar el problema estábamos usando JBOSS y Apache Web Consoles, y estábamos viendo que el hilo se mostraba en estado S durante tanto tiempo como minutos, aunque nuestras páginas tardan alrededor de 4-5 segundos en ser atendidas.
Cogimos el volcado de subprocesos y descubrimos que los subprocesos estaban en su mayoría en estado de espera, lo que significa que estaban esperando indefinidamente. Estos hilos no eran de nuestras clases de aplicación, sino del puerto AJP 8009.
Podría alguien ayudarme en esto, ya que alguien más también podría tener este problema y lo resolvió de alguna manera. En caso de que se requiera más información, házmelo saber.
También es mejor mod_proxy que usar mod_jk, o hay algunos otros problemas con mod_proxy que pueden ser fatales para mí si cambio a mod__proxy?
Las versiones que he utilizado son los siguientes:
Apache 2.0.52
JBOSS: 4.2.2
MOD_JK: 1.2.20
JDK: 1.6
Operating System: RHEL 4
Gracias por la ayuda.
Chicos !!!! Finalmente encontramos la solución con la configuración mencionada anteriormente. Es uso de APR y se menciona aquí: http://community.jboss.org/thread/153737. Su problema es mencionado correctamente por muchas personas en las respuestas a continuación, es decir, problema de conector. Anteriormente hicimos una solución temporal al configurar hibernación y aumentar el tiempo de respuesta. La solución completa es APR.