Red de conocimiento informático - Material del sitio web - Cómo optimizar el rendimiento de Tomcat

Cómo optimizar el rendimiento de Tomcat

Tomcat tiene muchos aspectos. Presentaré métodos de optimización desde cuatro aspectos: memoria, concurrencia y caché.

1. Optimización de la memoria de Tomcat

La optimización de la memoria de Tomcat es principalmente la optimización de los parámetros de inicio de Tomcat. Podemos configurar el parámetro JAVA_OPTS en el script de inicio de Tomcat catalina.sh.

Descripción del parámetro JAVA_OPTS

-server habilita la versión del servidor de jdk

-Xms es la cantidad mínima de memoria utilizada para inicializar la máquina virtual java <; /p>

-Xmx es la cantidad máxima de memoria que puede utilizar la máquina virtual java;

-XX:PermSize área de reserva permanente de memoria

-XX:MaxPermSize Área máxima de reserva permanente de memoria

Configuración de parámetros del servidor

Ahora la memoria máxima del servidor de la empresa se puede aumentar a 2G, por lo que se puede adoptar la siguiente configuración:

JAVA_OPTS='-Xms1024m -Xmx2048m -XX: PermSize=256M -XX: PermSize=256M -XX: PermSize=256M -XX: PermSize=256M -XX: PermSize=256M -Xmx2048m -XX.PermSize=256M -XX:MaxNewSize =256m -XX:MaxPermSize=256m'

Una vez completada la configuración, puede reiniciar Tomcat y usar el siguiente comando para verificar si la configuración tiene efecto:

Primero, verifique el Número de proceso de Tomcat:

sudo lsof -i :9027

Podemos ver que el número de proceso de Tomcat es 12222.

Compruebe si la configuración ha tenido efecto:

sudo jmap - heap 12222

Podemos ver que parámetros como MaxHeapSize han tenido efecto.

Optimización de concurrencia de Tomcat

1. Parámetros relacionados con la conexión de Tomcat

Servidor de archivos de configuración de Tomcat en el archivo de configuración de Tomcat server.xml

1>Descripción del parámetro

minProcessors: el número mínimo de subprocesos de conexión inactivos, que se utiliza 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 de procesamiento simultáneas, el valor predeterminado es 75

AcceptCount: el número máximo de conexiones permitidas, debe ser mayor que o igual a maxProcessors, el valor predeterminado es 100

enableLookups: ya sea para verificar el nombre de dominio, el valor es verdadero o falso. Para aumentar la potencia de procesamiento, esto debe establecerse en false

connectionTimeout: tiempo de espera de la conexión de red en milisegundos. Establecerlo en 0 significa que nunca se agota el tiempo, lo cual es potencialmente peligroso. Normalmente, esto se puede configurar en 30000 milisegundos.

Los parámetros relacionados con el número máximo de conexiones son maxProcessors y AcceptCount. Si desea aumentar la cantidad de conexiones simultáneas, debe aumentar estos dos parámetros.

El número máximo de conexiones permitidas por el servidor de red también está limitado por los parámetros del kernel del sistema operativo. Los parámetros del kernel de Windows suelen ser alrededor de 2000 y los parámetros del kernel de Linux suelen ser alrededor de 1000.

2>Ejemplo de configuración de Tomcat

protocol="HTTP/1.1"

maxHttpHeaderSize=" 8192"

minProcessors="100"

El número máximo de conexiones permitidas por el servidor web también está limitado por los parámetros del kernel del sistema operativo. minProcessors="100"

maxProcessors="1000"

acceptCount="1000"

redirectPort="8443"

disableUploadTimeout= "true"/>

2. Ajustar la concurrencia del conector

1> Descripción del parámetro

maxThreads El número máximo de subprocesos solicitados por el cliente

p>

minSpareThreads El número de subprocesos de socket creados cuando se inicializa Tomcat

maxSpareThreads El número máximo de subprocesos de socket disponibles para el conector Tomcat

enableLookups Si se establece en verdadero, nombre de dominio la resolución es compatible, resuelve la dirección IP en un nombre de host

redirectPort Reenvía las solicitudes del cliente al puerto de redirección basado en SSL cuando se requiere un canal seguro. Puerto de redirección basado en SSL

acceptAccount El número máximo de puertos que se monitorearán en la cola de puertos. Cuando la cola de puertos está llena, la solicitud del cliente será rechazada (no puede ser menor que maxSpareThreads)

.

connectionTimeout tiempo de espera de conexión

minProcessors El número mínimo de subprocesos que se procesarán cuando se crea el servidor

maxProcessors El número máximo de subprocesos que el servidor procesará al mismo tiempo

Coordinación de URL de codificación URI

2> Ejemplo de configuración en Tomcat

protocol="HTTP/1.1 "

maxHttpHeaderSize="8192 "

maxThreads="1000"

minSpareThreads="100"

maxSpareThreads=" 1000"

minProcessors="100"

maxProcessors="1000"

enableLookups="false"

URIEncoding="utf-8"

acceptCount = "1000"

redirectPort="8443"

disableUploadTimeout="true"/>

3.Optimización de la caché de Tomcat

1> Parámetros

p>

la compresión activa la función de compresión

compressionMinSize habilita la compresión del tamaño de salida, el valor predeterminado es 2 KB

tipo de compresión compressableMimeType

connectionTimeout define el tiempo de espera requerido para establecer una conexión de cliente.

Si es -1, significa que no hay límite en el tiempo para establecer una conexión de cliente

2>Ejemplo de configuración en Tomcat

protocol="HTTP/1.1"

maxHttpHeaderSize=" 8192"

maxThreads="1000"

minSpareThreads="100"

maxSpareThreads="1000"

minProcessors="100"

maxProcessors="1000"

enableLookups="false"

compresión ="on"

compressionMinSize="2048"

compressableMimeType ="text/html, text/xml, text/javascript, text/css, text/plain"

connectionTimeout="20000"

URIEncoding="utf-8"

AcceptCount="1000"

redirectPort="8443"

disableUploadTimeout="true"/>

4. Configuración de referencia

1> Configuración anterior

Se realizaron las siguientes configuraciones en el servidor con referencia a la red

p>

protocol="HTTP/1.1"

maxHttpHeaderSize="8192"

maxThreads="1000"

minSpareThreads="1000"