java - for - Tomcat-maxThreads vs maxConnections
tomcat 6 maxthreads (2)
De la documentación de Tomcat , para bloquear E / S (BIO), el valor predeterminado de maxConnections
es el valor de maxThreads
menos que se utilice Executor (grupo de subprocesos), en cuyo caso se utilizará el valor de ''maxThreads'' de Executor. Para IO no bloqueante, no parece depender de maxThreads
.
En Tomcat server.xml, ¿qué es maxThreads versus maxConnections?
Entiendo que maxConnections es la cantidad de conexiones abiertas al servidor
Y maxThreads es la cantidad máxima de subprocesos de procesamiento de solicitud
Pero cómo funcionan los dos parámetros de configuración, obviamente, no establecerá maxConnections en 1000 y maxThreads en 10
¿Cuál es la relación entre los dos parámetros de configuración?
<Connector
port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="250"
SSLEnabled="true"
scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
connectiontimeout="20000"
/>
Tomcat puede funcionar en 2 modos:
- BIO - bloqueo de E / S (un hilo por conexión)
- NIO - E / S sin blacking (muchas más conexiones que hilos)
Tomcat 7 es BIO por defecto , aunque el consenso parece ser "no use Bio porque Nio es mejor en todos los sentidos". Configura esto usando el parámetro de protocol
en el archivo server.xml
.
- BIO será
HTTP/1.1
oorg.apache.coyote.http11.Http11Protocol
- NIO será
org.apache.coyote.http11.Http11NioProtocol
Si está utilizando BIO, entonces creo que deberían ser más o menos lo mismo.
Si está utilizando NIO, en realidad "maxConnections = 1000" y "maxThreads = 10" podrían ser razonables. Los valores predeterminados son maxConnections = 10,000 y maxThreads = 200. Con NIO, cada subproceso puede servir para cualquier cantidad de conexiones, alternando pero reteniendo la conexión, por lo que no es necesario realizar todos los acuses de recibo habituales, que consumen mucho tiempo con HTTPS, pero incluso un problema con HTTP. Puede ajustar el parámetro "keepAlive" para mantener las conexiones durante más tiempo y esto acelerará todo.