Implementación de Tomcat lenta en el servidor Unix

Implementación de Tomcat lenta en el servidor Unix

Recientemente nos mudamos a Tomcat desde WebSphere para nuestra aplicación.

Estamos utilizando: JDK 1.8 Build 191 y Tomcat 9.0.50. La mayor parte de la aplicación es una combinación de Servlet/JSP y algunas aplicaciones web con Spring MVC, utiliza algunos subprocesos múltiples.

Ahora nuestros servidores de prueba se implementan absolutamente bien. Es bastante rápido. Pero cuando se implementa en Tomcat en producción, simplemente se detiene bruscamente.

Por ejemplo, este es un resultado del servidor de prueba:

26-Aug-2021 08:56:11.585 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/app/tomcat/webapps/cdsrs.war]
26-Aug-2021 08:56:13.750 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
26-Aug-2021 08:56:14.091 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/app/tomcat/webapps/cdsrs.war] has finished in [2,505] ms

Y esta es la misma aplicación web en Producción:

26-Aug-2021 09:26:18.016 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/app/tomcat/webapps/cdsrs]
26-Aug-2021 09:26:19.870 INFO [Catalina-utility-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
26-Aug-2021 09:28:52.569 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/app/tomcat/webapps/cdsrs] has finished in [154,553] ms

Tengo esto configurado en el archivo setenv.sh:

export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC -Xloggc:gc/gc.log"
export CATALINA_OPTS="$CATALINA_OPTS -Xms3072M"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192M"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=3072M"

Y he configurado mi server.xml con:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxHttpHeaderSize="65536" maxThreads="150" SSLEnabled="true" acceptorThreadCount="4" >
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="conf/keystore.jks" certificateKeystorePassword="some_password" type="RSA" />
    </SSLHostConfig>
</Connector>
<Connector address="SERVER_HOSTNAME" port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="65536" connectionTimeout="20000" redirectPort="8443" acceptorThreadCount="4" />

Y la Engineetiqueta como:

<Engine name="Catalina" defaultHost="localhost" startStopThreads="0">

¡Sin mencionar que la aplicación también funciona muy lenta! Los tiempos de carga de la página han aumentado entre un 200 y un 300 % ahora en comparación con cuando se ejecutaba en WebSphere. ¿Me estoy perdiendo de algo? Se agradecería mucho algo de ayuda con esto. ¡Gracias!

información relacionada