.Tomcat una prueba de esfuerzo, y los parámetros optimizados mediante el ajuste de la configuración de Tomcat
1. Implementar un proyecto web, acceso de prueba (necesidad de instalar MySQL y el JDK)
1.1.1 ejecución de scripts SQL va a generar la base de datos correspondiente
se cargará en la secuencia de comandos SQL Server, por dashboard.sql gato | mysql -p -uroot
1.1.2 proyecto de implementación
Los artículos publicados bajo un sistema Linux extracto de la carpeta webapps de Tomcat directorio
para encontrar el artículo, jdbc.properties modificar archivos de configuración, de acuerdo con la situación real
Para iniciar Tomcat 1.1.3
Acceso de cliente: http://192.168.42.123:8080/index
herramienta de prueba de esfuerzo 2.Jmeter
después de la extracción se ha completado en el directorio bin, haga doble clic en jmeter.bat empezar, se puede empezar por ahí próximos Opetions Elija Lanauge elegir Chino simplificado
También puede modificar el tema blanco
2.1 Crear un nuevo grupo de hilos, el número de hilos de 1000, el número de ciclos es 10
2.2 Haga clic en el grupo de hilos para crear un nuevo sampler protocolo HTTP
utilizando el protocolo http, dirección de Linux, puerto tomcat8080 acceso al puerto dirección / índice
solicitud de adición 2.3 Monitoreo
2.4 Haga clic en Inicio de prueba
optimización 3.Tomcat
Sin ningún tipo de configuración:
tiempo promedio de procesamiento de solicitudes: 61319
tasa de error de error: 44.38%
Rendimiento: 12,8 / S
3.1 programa de optimización: desactive el servicio de AJP
parada Tomcat: cambie el directorio a la papelera por ./shutdown.sh
encontrado tomacat de descompresión carpeta del directorio conf, será uno de los comentarios server.xml de servicios AJP
directorio bin para iniciar: ./ startup.sh && tail-f ../logs/catalina.out
resultados de la prueba son los siguientes:
El tiempo de procesamiento medio de la solicitud: 23900 + -
tasa de error de error: 55% + -
rendimiento: 20 es / S + -
3.2 Optimización Esquema II: para mover el accionador (grupo de subprocesos)
Prueba A: hasta hilo 500 '
El inicial 50
El número máximo de espera en cola 100
El modo de ejecución a nio2
Parar Tomcat: Vaya al directorio bin por ./shutdown.sh
hallazgo tomacat extraer el directorio bajo la carpeta conf, modificar el server.xml
< Ejecutor nombre = "tomcatThreadPool" namePrefix = "catalina-actualización Exec" maxThreads = "500" MinSpareThreads = "50" prestartminSpareThreads = "true" maxQueueSize = "100" /> < Conector ejecutor = "tomcatThreadPool" puerto = "8080" de protocolo = "org.apache.coyote.http11.Http11Nio2Protocol" ConnectionTimeOut = "20000" redirectPort = "8443" />
directorio bin de inicio: ./ startup.sh && tail -f ../logs/catalina.out
tiempo medio de procesamiento de la solicitud: 4200
tasa de error de error: 9,30%
Rendimiento: 180 [/ S
optimización 4.Tomcat: optimizar los parámetros de la JVM
4,1 permitir recolector de basura en paralelo
modificar los archivos de configuración catalina.sh
JAVA_OPTS = "- XX: + UseParallelGC -XX: + UseParallelOldGC -Xms64m -Xmx512m
-XX: + PrintGCDetails -XX: + PrintGCTimeStamps -XX: + PrintGCDateStamps
-XX: + PrintHeapAtGC -Xloggc: ../ logs / gc.log"
El uso de análisis de registros gceasy.io sitio
Se llegó a la conclusión: la joven generación de asignación de memoria es demasiado pequeña. la asignación de memoria del montón entero es demasiado pequeña
JAVA_OPTS = "- XX: + UseParallelGC -XX: + UseParallelOldGC -Xms128m
-Xmx1024m -XX: NewSize = 64m -XX: MaxNewSize = 256m -XX: + PrintGCDetails
-XX: + PrintGCTimeStamps -XX: + PrintGCDateStamps -XX: + PrintHeapAtGC
- Xloggc: ../ logs / gc.log"
4.2 Habilitación recolector de basura G1
JAVA_OPTS = "- XX: + UseG1GC -XX: MaxGCPauseMillis = 100 -Xms128m
-Xmx1024m -XX: + PrintGCDetails -XX: + PrintGCTimeStamps
-XX: + PrintGCDateStamps -XX: + PrintHeapAtGC -Xloggc: ../ logs / gc.log"
G1 eficiencia más alta
cuando 5.Tomcat optimización, para continuar para probar la configuración para el entorno actual
resumen
Optimización de puntos de configuración: 1.Tomcat
parámetros de ajuste 2.JVM