Cómo optimizar el rendimiento de Tomcat
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
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 protocol="HTTP/1.1" maxHttpHeaderSize="8192" p> maxThreads="1000" minSpareThreads="1000"