.Tomcat una prueba de esfuerzo, mediante el ajuste de los parámetros de configuración y optimización de Tomcat
1. Implementar un proyecto web, acceso de prueba
de ejecución de scripts SQL 1.1.1, generar la base de datos correspondiente
se cargará en la secuencia de comandos SQL Server, el guión de .sql gato | mysql -uroot -p
1.1.2 proyectos de despliegue de
encontrar los artículos, jdbc.properties modificar los archivos de configuración
para cargar el proyecto para extraer el sistema operativo Linux Tomcat carpeta del directorio webapps
1.1.3 inicio de Tomcat
visita del cliente: http: //192.168.7.22: 8080 / tablero de instrumentos en la web / índice de
estrés 2.Jmeter herramienta de prueba
después de la extracción se ha completado en el directorio bin, haga doble clic jmeter.bat empezar, se puede empezar por próximos Opetions no eligen Lanauge elegir chino simplificado
2.1 para crear un nuevo grupo de hilos, el número de hilos a 1000, el número de ciclos 10
2.2 Haga clic para crear un nuevo grupo de hilos de correo electrónico muestreador protocolo HTTP
utiliza HTTP protocolo, dirección de Linux, el puerto tomcat8080 acceso por puertos dirección web del tablero de instrumentos / índice de
2.3 para crear una nueva resultados de la consulta, haga clic en el ensayo de arranque
3.Tomcat sin en cualquier configuración caso:
tiempo medio de procesamiento de la solicitud: 6195
tasa de error de error: 0,00%
Rendimiento: 154 / S
Opción 3.1 Optimización Uno: Desactivar AJP servicio de
parada Tomcat: Vaya al directorio bin por ./shutdown.sh
hallazgo tomacat extraer el directorio bajo la carpeta conf, server.xml entre las anotaciones de servicio AJP
directorio bin para empezar: ./startup.sh && tail -f ../logs/catalina.out
resultados de la prueba son los siguientes:
tiempo medio de procesamiento de la solicitud: 5200
tasa de error de error: 0,00%
rendimiento: 170. / s
esquema 3.2 optimización II: para mover el accionador (grupo de subprocesos )
prueba a: hasta 500 hilos, inicialmente 50
para detener Tomcat: interruptor para el directorio bin por ./shutdown.sh
hallazgo tomacat extraer el directorio bajo la carpeta conf, server.xml
<nombre Ejecutor = "tomcatThreadPool" namePrefix = "catalina -exec- "MaxThreads =" 500 "MinSpareThreads =" 50 "prestartminSpareThreads =" true "/>
1. Implementar un proyecto web, acceso de prueba
de ejecución de scripts SQL 1.1.1, generar la base de datos correspondiente
se cargará en la secuencia de comandos SQL Server, el guión de .sql gato | mysql -uroot -p
1.1.2 proyectos de despliegue de
encontrar los artículos, jdbc.properties modificar los archivos de configuración
para cargar el proyecto para extraer el sistema operativo Linux Tomcat carpeta del directorio webapps
1.1.3 inicio de Tomcat
visita del cliente: http: //192.168.7.22: 8080 / tablero de instrumentos en la web / índice de
estrés 2.Jmeter herramienta de prueba
después de la extracción se ha completado en el directorio bin, haga doble clic jmeter.bat empezar, se puede empezar por próximos Opetions no eligen Lanauge elegir chino simplificado
2.1 para crear un nuevo grupo de hilos, el número de hilos a 1000, el número de ciclos 10
2.2 Haga clic para crear un nuevo grupo de hilos de correo electrónico muestreador protocolo HTTP
utiliza HTTP protocolo, dirección de Linux, el puerto tomcat8080 acceso por puertos dirección web del tablero de instrumentos / índice de
2.3 para crear una nueva resultados de la consulta, haga clic en el ensayo de arranque
3.Tomcat sin en cualquier configuración caso:
tiempo medio de procesamiento de la solicitud: 6195
tasa de error de error: 0,00%
Rendimiento: 154 / S
Opción 3.1 Optimización Uno: Desactivar AJP servicio de
parada Tomcat: Vaya al directorio bin por ./shutdown.sh
hallazgo tomacat extraer el directorio bajo la carpeta conf, server.xml entre las anotaciones de servicio AJP
directorio bin para empezar: ./startup.sh && tail -f ../logs/catalina.out
resultados de la prueba son los siguientes:
tiempo medio de procesamiento de la solicitud: 5200
tasa de error de error: 0,00%
rendimiento: 170. / s
esquema 3.2 optimización II: para mover el accionador (grupo de subprocesos )
prueba a: hasta 500 hilos, inicialmente 50
para detener Tomcat: interruptor para el directorio bin por ./shutdown.sh
hallazgo tomacat extraer el directorio bajo la carpeta conf, server.xml
<nombre Ejecutor = "tomcatThreadPool" namePrefix = "catalina -exec- "MaxThreads =" 500 "MinSpareThreads =" 50 "prestartminSpareThreads =" true "/>
<Conector Ejecutor = "tomcatThreadPool" Puerto = "8080" = Protocolo "HTTP / 1.1"
ConnectionTimeOut = "20000"
la redirectPort = "8443" />
directorio bin para empezar: ./ 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
de ensayo 1: 1000 hilo hacia arriba, en un principio 200
tiempo medio de procesamiento de la solicitud: 5000
tasa de error de error: 1,3%
rendimiento: 165 / s
pura para mejorar las roscas no están completamente enviadas Tomcat rendimiento
de ensayo II: establece el número máximo de cola de espera
<ejecutor name = "namePrefix tomcatThreadPool" = "MaxThreads catalina-actualización Exec" = "500" MinSpareThreads = "50" prestartminSpareThreads = "true "maxQueueSize =" 100 "/>
ConnectionTimeOut = "20000"
la redirectPort = "8443" />
directorio bin para empezar: ./ 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
de ensayo 1: 1000 hilo hacia arriba, en un principio 200
tiempo medio de procesamiento de la solicitud: 5000
tasa de error de error: 1,3%
rendimiento: 165 / s
pura para mejorar las roscas no están completamente enviadas Tomcat rendimiento
de ensayo II: establece el número máximo de cola de espera
<ejecutor name = "namePrefix tomcatThreadPool" = "MaxThreads catalina-actualización Exec" = "500" MinSpareThreads = "50" prestartminSpareThreads = "true "maxQueueSize =" 100 "/>
<Connector Ejecutor = "tomcatThreadPool" Puerto = "8080" Protocolo = "el HTTP / 1.1"
ConnectionTimeout = "20000"
la redirectPort = "8443" />
Prueba III: El modo de funcionamiento de es noi2
<Connector Ejecutor = "tomcatThreadPool" Puerto = " 8080 "Protocolo =" org.apache.coyote.http11.Http11Nio2Protocol "ConnectionTimeOut =" 20000 "redirectPort =" 8443 "/>
4.Tomcat optimización: parámetros de JVM se optimizaron
4.1 permiten 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"
estrellas 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 habilitados colector G1 basura
JAVA_OPTS =" - XX: + UseG1GC -XX: MaxGCPauseMillis = 100 -Xms128m -Xmx1024m -XX: + PrintGCDetails -XX: + PrintGCTimeStamps -XX: + PrintGCDateStamps -XX: + PrintHeapAtGC -Xloggc: ../ logs / gc.log "
cuando 5.Tomcat optimización, para continuar para probar la configuración para el entorno actual, punto de optimización: los parámetros de configuración 1.Tomcat a 2.JVM sintonizar
ConnectionTimeout = "20000"
la redirectPort = "8443" />
Prueba III: El modo de funcionamiento de es noi2
<Connector Ejecutor = "tomcatThreadPool" Puerto = " 8080 "Protocolo =" org.apache.coyote.http11.Http11Nio2Protocol "ConnectionTimeOut =" 20000 "redirectPort =" 8443 "/>
4.Tomcat optimización: parámetros de JVM se optimizaron
4.1 permiten 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"
estrellas 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 habilitados colector G1 basura
JAVA_OPTS =" - XX: + UseG1GC -XX: MaxGCPauseMillis = 100 -Xms128m -Xmx1024m -XX: + PrintGCDetails -XX: + PrintGCTimeStamps -XX: + PrintGCDateStamps -XX: + PrintHeapAtGC -Xloggc: ../ logs / gc.log "
cuando 5.Tomcat optimización, para continuar para probar la configuración para el entorno actual, punto de optimización: los parámetros de configuración 1.Tomcat a 2.JVM sintonizar