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
En general, se optó por el gato paquete de núcleo funcionando, o seleccionar directamente reflejado ventana acoplable a ejecutar;
Tomcat directorio Descripción:
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:
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;
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;
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.
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:
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
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"
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 初始线程数
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!