Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué tipo de excepción se informará cuando Tomcat tenga una alta concurrencia?

¿Qué tipo de excepción se informará cuando Tomcat tenga una alta concurrencia?

Descripción del archivo de configuración server.xml de Tomcat:

configuración server.xml

1. >

2. maxThreads="30000"

3. minSpareThreads="512"

4. maxSpareThreads="2048"

5. "falso"

6.redireccionarPort="8443"

7. aceptarCount="35000"

8. p>9. ConnectionTimeout="40000"

10.disableUploadTimeout="true"

11. URIEncoding="UTF-8"/gt;

Parámetro descripción:

connectionTimeout

Tiempo de espera de conexión de red, unidad: milisegundos. Establecerlo en 0 significa que nunca expirará, lo cual es una configuración peligrosa. Por lo general, se puede configurar en 30000 milisegundos.

keepAliveTimeout

Tiempo máximo de retención de conexiones largas (milisegundos). Aquí son 15 segundos.

maxKeepAliveRequests

Número máximo de conexiones largas (1 significa deshabilitadas, -1 significa sin límite, predeterminado 100. Generalmente se establece entre 100 y 200)

maxHttpHeaderSize

El tamaño máximo de la información del encabezado de la solicitud http. Las partes que excedan esta longitud no se procesarán. Generalmente 8K.

URIEncoding

Especifique el formato de codificación de URL del contenedor Tomcat.

acceptCount

Especifica el número de solicitudes que se pueden colocar en la cola de procesamiento cuando se utilizan todos los subprocesos disponibles para procesar solicitudes. Las solicitudes que superen este número no se procesarán. es 10.

disableUploadTimeout

Si se debe utilizar el mecanismo de tiempo de espera al cargar

enableLookups

Si se debe realizar una verificación inversa del nombre de dominio, el valor es : verdadero o falso. Para mejorar las capacidades de procesamiento, debe establecerse en falso

maxSpareThreads

El número máximo de conexiones inactivas. Una vez que el número de subprocesos creados supere este valor, Tomcat cerrará los subprocesos del socket. que ya no son necesarios. El valor predeterminado es 50.

maxThreads

El número máximo de conexiones que se pueden procesar simultáneamente. Este valor representa la cantidad máxima de subprocesos que Tomcat puede crear.

minSpareThreads

Número mínimo de subprocesos inactivos, el número de subprocesos creados cuando se inicializa Tomcat.

minProcessors

Número mínimo de inactivos Hilos de conexión, utilizados para mejorar el rendimiento del procesamiento del sistema, el valor predeterminado es 10.

maxProcessors

El número máximo de subprocesos de conexión, es decir: el número máximo de solicitudes procesadas simultáneamente, el valor predeterminado es 75

Algunos métodos para mejorar Tomcat capacidades de concurrencia

1. Apache Tomcat se combina para usar Apache para páginas estáticas y Tomcat para páginas dinámicas. Al mismo tiempo, el tiempo de espera de conexión se reduce para hacer frente a situaciones en las que hay demasiada concurrencia. Es demasiado tarde para el reciclaje de hilos.

2. Para el problema de la presión excesiva, se puede realizar un equilibrio de carga. Un TOMCAT no puede manejar tantas cargas de subprocesos de todos modos, y si la JVM es demasiado grande, su costo de administración de memoria aumentará significativamente. Es más científico y razonable utilizar 2G de memoria para crear 3-4 instancias TOMCAT (512RAM*4).

3. Grupo de conexiones de bases de datos. Mucha gente recomienda usar C3P0, que puede mejorar varias veces el rendimiento concurrente del acceso a la base de datos. (Hay una publicación de blog que dice que es mejor usar el jdbc-pool que viene con Tomcat, pero aún no lo he probado)

4. servidor y se puede implementar en servidores con configuraciones superiores. También se pueden implementar varios Tomcats por separado en varios servidores. El método de integración de Apache y Tomcat sigue siendo el método JK. Después de la verificación, en términos de la respuesta del sistema a una gran cantidad de usuarios, el clúster Apache 3Tomcat gt; el clúster Apache 2Tomcat gt; Apache integra Tomcat gt; Y cuando se utiliza el método de implementación del clúster Apache multi-Tomcat, si un Tomcat deja de funcionar, el sistema puede seguir utilizándose. Por lo tanto, cuando el rendimiento del sistema de hardware es lo suficientemente superior, es necesario maximizar el rendimiento del software. puede utilizar el método de agregar clústeres de Tomcat.

5. Active el soporte KeepAlive

KeepAlive activado, KeepAliveTimeout 15 MaxKeepAliveRequests 1000

Según la experiencia real, el efecto de mejorar el rendimiento del sistema a través de clústeres Apache y Tomcat. es muy bueno Obviamente, este método puede maximizar el uso de recursos de hardware y compartir la presión de un solo Tomcat mediante el procesamiento de múltiples Tomcats.

El número máximo de conexiones permitidas por el servidor web también está sujeto a la configuración de los parámetros del kernel del sistema operativo. Por lo general, es de aproximadamente 2000 para Windows y aproximadamente 1000 para Linux.