que actualmente tienen una aplicación desplegada utilizando Tomcat que interactúa con una base de datos PostgreSQL a través de JDBC. Las consultas son muy caras, así que lo que estoy viendo es un tiempo de espera causado por Tomcat o Apache (Apache se sienta frente a Tomcat en mi configuración). Estoy tratando de limitar las conexiones a la base de datos a 20-30 conexiones simultáneas, para que la base de datos no se vea abrumada. Lo he hecho usando la configuración \ .., estableciendo maxActive en 30 y maxIdle en 20. También aumenté el maxWait.Tomcat - maxThreads Configuración y acceptCount de conector HTTP
En este escenario estoy limitando el uso de la base de datos, pero quiero las conexiones/solicitudes que deben mezclarse dentro de Tomcat. Apache puede aceptar 250 solicitudes simultáneas. Por lo tanto, debo asegurarme de que Tomcat también pueda aceptar esta cantidad, pero manejarlos de manera adecuada.
Tomcat tiene dos ajustes en el conector de archivos config http:
- MaxThreads - "Número máximo de subprocesos de procesamiento de solicitud para ser creados por el Http Connector, que, por tanto, determina el número máximo de simultánea solicitudes que pueden ser manejadas ".
- acceptCount - "La longitud máxima de la cola para las solicitudes de conexión entrantes cuando todos los posibles hilos de procesamiento de solicitud están en uso. Cualquier solicitud recibida cuando la cola está llena será rechazada".
así que supongo que si fijo maxThreads al número máximo de conexiones JDBC (30), entonces puedo configurar acceptCount a 250-30 = 220.
yo no entiendo muy bien la diferencia entre un hilo que ESPERA una conexión JDBC para abrir desde el grupo, versus un hilo que está en cola ... Mi idea es que un hilo en cola consume menos ciclos mientras que un hilo en ejecución, esperando en el grupo JDBC, pasar ciclos revisando el grupo por un hilo gratis ...?
Estoy tratando de medir la experiencia de otros utilizando diferentes relaciones de hilos: conexiones. ¿Tiene sus valores de producción ajustados? ¿Mantuvo la relación de max tomcat threads a jdbc conexiones 250: 30, si es así, cómo le funcionó? – ledlogic