Escribo este artículo con el objetivo de ayudarte a entender cómo mejorar el rendimiento de Tomcat.
Lo redactaré de la manera más sencilla posible para que puedas comprender de qué estoy hablando con solo echar un vistazo.
A diferencia de otros artículos técnicos, no te perderás en un laberinto terminológico. En cambio, estarás en la cima de una montaña para que puedas ver todo el panorama de este campo.
Para resumir, comencemos con un ejemplo a continuación:
Podrías imaginar que Tomcat es una botella, si deseas poner más agua en ella y verter el agua lo más rápido posible en ciertos segundos, hay dos factores que debes considerar:
-
El tamaño del cuello de la botella.
-
El volumen de la botella en sí.
De igual manera, al ajustar un servidor Tomcat, solo puedes enfocarte en dos factores.
-
Conector. --> El cuello de botella, definido en server.xml.
-
JVM (Memoria máxima). --> El volumen, definido en Opciones de Java.
Para aumentar el tamaño del cuello de botella, ve a
/conf/server.xml
.
Primero, descomenta la siguiente línea para indicar al sistema que vas a usar un ejecutor definido por ti mismo (el Executor es el guardián del conector).
Por defecto, el ejecutor está deshabilitado.
Para las definiciones de ejecutor y conector, por favor visita
https://blogs.sap.com/2019/07/18/how-to-get-a-quick-overview-on-tomcat-related-words/
para más detalles.
Nota: Generalmente, maxThreads="500" minSpareThreads="20" maxIdleTime="60000" son suficientes.
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />
Luego, cambia el valor de tiempo de espera de conexión como en el siguiente ejemplo.
<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="60000" keepAliveTimeout="15000" maxKeepAliveRequests="1" redirectPort="8443" />
Para aumentar el volumen de la botella, puedes revisar los siguientes dos KBs según el tipo de sistema operativo correspondiente.
-
Windows
:
1921501
- Opciones de Java predeterminadas para Tomcat para BI4
-
Linux/AIX
:
1750952
- Configuración de JAVA_OPTS para Tomcat en BI4
En cuanto al tamaño adecuado de la JVM, por favor consulta el siguiente KB para conocer los detalles.
2405536
- Mejores prácticas: Las combinaciones populares de tamaño de grupo de memoria máxima de Tomcat y MaxPermSize.