Cepillo preguntas de la entrevista 32: ¿Qué hace la optimización del rendimiento en Tomcat?

image.png

fondo

Desarrollo de java java programadores de aplicaciones, por lo general optan por utilizar Tomcat autorización, pero:
cómo tomar el control total de Tomcat, y se deja jugar el mejor rendimiento?

Esta entrevista es también un tema caliente, con muchos años de práctica, yo era Li Fuchun, para resumir la actualidad.

Utilice el gato

descargar

Ahora, la última versión estable es tomcat9, la página de descarga: https://tomcat.apache.org/download-90.cgi

Descargar la diferencia entre cinco clases de paquete

expediente

En general, se optó por el gato paquete de núcleo funcionando, o seleccionar directamente reflejado ventana acoplable a ejecutar;

Tomcat directorio Descripción:

expediente

instalar

Directamente extraída, comando de descompresión:tar -zxvf tomcat-xxx.tar.gz

Inicio y detención

Siga las instrucciones de la guía running.txt dos formas de empezar:

1, sh ${catalina.home}/bin/startup.sh 
2,  sh ${catalina.home}/bin/catalina.sh start

Correspondiente a las dos formas de Tomcat parada:

1, sh ${catalina.home}/bin/shutdown.sh
2,  sh ${catalina.home}/bin/catalina.sh stop 

revista

Registro generados en cuatro grupos Tomcat

1, catalina.date.out recientemente en todos los niveles de la tala;
2, registro de errores localhost-date.log

En tiempo real de comandos Ver registro: tail -f catalina.out

protocolo AJP

Tomcat utiliza generalmente para establecer una conexión con el otro servidor HTTP.

Por ejemplo, Apache Tomcat + hacer separación estática y dinámica:

Apache manejar todos los recursos estáticos;

solicitud de recursos dinámica Apache remitida por el Tomcat JK (carga componentes de equilibrio), por el protocolo AJP.

monitoreo Tomcat

Deje el valor predeterminado Tomcat aplicaciones web bajo la raíz, host-manager, gestor de aplicaciones, puede supervisar el estado de Tomcat solo nodo.

El valor por defecto no es accesible, la necesidad de añadir usuarios y permisos para ver, de lo contrario se reportan 403;

Un método para aumentar: conf/tomcat-user.xml

<role rolename='admin' />
...
<user username='admin' password='admin' roles='admin,admin-gui,admin-script,
manager-script,manager-gui,manager-jmx,manager-status' />

Seguimiento de la siguiente página:

image.png
estado del servidor: se puede ver la información de la versión y Tomcat JVM, la información de la partición JVM estado interno del grupo de subprocesos Tomcat;
image.png

gestor de la aplicación: gestión de las aplicaciones que se ejecutan en Tomcat, proporcionar botones de control, iniciar, detener, reiniciar, descarga, así como un servicio sin escalas para instalar nuevas aplicaciones;
image.png

host-pesebre: Proporcionar el anfitrión de gestión virtual, es decir, la configuración de alias y el camino secundario a la tomcat aplicación.
image.png

Tomcat puesta a punto de IO

tomcat9 uso por defecto de Java NIO proceso io.
Puede verse a partir de los archivos de registro y configuración.

09-Apr-2020 07:46:27.606 信息 [main] org.apache.coyote.AbstractProtocol.start 
开始协议处理句柄["http-nio-8080"]

Optimizar abril IO

Utilice TAE (Apache Portable Runtime), para resolver el problema de la io asíncrona desde el nivel del sistema operativo, puede mejorar considerablemente el rendimiento.
Si se instala Linux APR y Tomcat-natal, el gato comenzó a apoyar la Apr;

NIO optimizar la antigua versión de BIO

Si la antigua versión de Tomcat mediante BIO (el registro se puede ver), se puede ajustar para NIO, método de ajuste:
conf/server.xml

La configuración anterior:

<connector protocol="HTTP/1.1" />

La nueva configuración:

//tomcat6选择nio1
<connector protocol="org.apache.coyote.http11.Http11NioProtocol" />
//tomcat8选择nio2,apr性能更好
<connector protocol="org.apache.coyote.http11.Http11Nio2Protocol" />

<connector protocol="org.apache.coyote.http11.Http11AprProtocol" />

Tomcat sintonía grupo de subprocesos

Tomcat no está habilitado por defecto del grupo de subprocesos, puede activar los hilos de rosca de la piscina para mejorar la eficiencia

Enhebrar los parámetros de la piscina:

expediente

piscina de hilos personalizada

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>

Habilitar el conector de configuración

<connector executor="tomcatThreadPool">

parámetros del conector

expediente

Los parámetros de ajuste Tomcat JVM

optimización GC

#gc优化
JAVA_GC="-XX:SurvivorRatio=10 
-XX:MaxTenuringThreshold=15 
-XX:NewRatio=2 
-XX:+DisableExplicitGC 
-Djava.security.egd=file:/dev/./urandom"

expediente

JVM y grupo de subprocesos optimizado

JVM_LEVEL="info"
JVM_Xms="100m"
JVM_Xmx="2048m"
JVM_Xmn="600m"
JVM_Xss="256k"
TOMCAT_acceptCount=4096 线程可以接受的请求数量
TOMCAT_maxThreads=512 最大线程数
TOMCAT_minSpareThreads=512 初始线程数

expediente

resumen

Benpian revisar los fundamentos del Tomcat.

Así como algunos conocimientos básicos para utilizar el monitor incorporado Tomcat monitoreo de aplicaciones Java.

A continuación, se combina con la experiencia de trabajo, Tomcat sintonización desde tres aspectos io, grupo de subprocesos, JVM

El original no es fácil, pulgares apoyo preocupación acerca de ello! Por favor indique la fuente, vamos a la complementariedad y el progreso común, elogiaron la Comunicación.
Voy a seguir para compartir programación Java conocimiento y software a los programadores a desarrollar trayectoria profesional, atención de bienvenida, que reunió una variedad de recursos de todos estos años para aprender programación, número de preocupación pública 'Li Fuchun salida continua' Enviar 'materiales de aprendizaje' compartir con usted!

Supongo que te gusta

Origin www.cnblogs.com/snidget/p/12664761.html
Recomendado
Clasificación