servicio day12-tomcat --- dos (modo de trabajo, múltiples instancias, alta carga de casos de falla, etc.)

https://www.cnblogs.com/f-ck-need-u/p/8120008.html#1-web- "El gato de Long Shuai"

1. Modo de trabajo de Tomcat (bio, bio, apr)

Cambiar el modo de trabajo también es parte del ajuste, aquí puede hacer coincidir los parámetros ajustados (rendimiento, etc.) desde la vista de Jmeter.
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Puede ver qué modo se está utilizando actualmente en http://192.168.26.138:8080/manager/status.
Inserte la descripción de la imagen aquí
También puede ver qué modo se usa al final del registro de catalina.out después de que se completa el inicio.
Inserte la descripción de la imagen aquí

1.1 Modificar server.xml para cambiar el modo de trabajo (por escribir)

Modo nio predeterminado de la versión 8.5

protocol="HTTP/1.1"

Inserte la descripción de la imagen aquí

Ajustar al modo nio2 y modificar el valor del protocolo

Inserte la descripción de la imagen aquí

 <Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
               connectionTimeout="20000"
               redirectPort="8443" />

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Ajustar al modo apr

#安装apr环境 。   注意centos8没有tomcat-native源,需要编译安装
yum -y install apr apr-devel tomcat-native
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
               connectionTimeout="20000"
               redirectPort="8443" />

Inserte la descripción de la imagen aquí

Dos, tomcat múltiples instancias

Para ejecutar varios tomcats en el mismo servidor, el proceso de implementación es el siguiente:

tar -xf apache-tomcat-8.5.63.tar.gz
cp -r apache-tomcat-8.5.63/ tomcat_8081
cp -r apache-tomcat-8.5.63 tomcat_8082

sed -i.bak 's#8080#8081#g' tomcat_8081/conf/server.xml
sed -i.bak 's#8005#8006#g' tomcat_8081/conf/server.xml
sed -i.bak 's#8009#8010#g' tomcat_8081/conf/server.xml

sed -i.bak 's#8080#8082#g' tomcat_8082/conf/server.xml
sed -i.bak 's#8005#8007#g' tomcat_8082/conf/server.xml
sed -i.bak 's#8009#8011#g' tomcat_8082/conf/server.xml

mv tomcat_808* /application/

Inserte la descripción de la imagen aquí

#分别启动另外两个实例8081和8082:
/application/tomcat_8081/bin/startup.sh
/application/tomcat_8082/bin/startup.sh
ss -naltp | grep java

Inserte la descripción de la imagen aquí

echo "tomcat_8081" > /application/tomcat_8081/webapps/ROOT/index.jsp
echo "tomcat_8082 ..." > /application/tomcat_8082/webapps/ROOT/index.jsp

Inserte la descripción de la imagen aquí
Tres gatos machos:
Inserte la descripción de la imagen aquí

3. Caso de falla de Tomcat-carga alta (*)

La primera versión:
Inserte la descripción de la imagen aquí

3.1 vmstat descubre la alta carga causada por la CPU o el disco

Mire r y b debajo de los procesos de la izquierda.
r Un número mayor significa que el uso de la CPU del sistema es mayor
b Un número mayor significa mayor io de disco.

[root@lvs1-138 conf]# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0   1024 330348     20 803316    0    0     1     6   62   63  0  1 99  0  0
 0  0   1024 330308     20 803316    0    0     0     0  272  292  0  1 99  0  0
 0  0   1024 330168     20 803316    0    0     0     0  248  280  0  1 99  0  0
 0  0   1024 329920     20 803316    0    0     0     0  260  270  0  1 99  0  0
 0  0   1024 330084     20 803316    0    0     0     0  284  269  0  2 98  0  0

3.2 ps aux, htop ver específicamente el proceso pid causado

3.3 iotop muestra el pid de estado io de cada proceso

iotop -o  #只显示在进行读写的进程

3.4 jps cooperan con top -p para ver el proceso de Java

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
pstree -p:
130923 es el proceso, la pila detrás es el hilo
Inserte la descripción de la imagen aquí

jps -lvm
pstree -p
#这个pid是java进程的pid
top -p 130923   # 只有进程显示  -p指定pid , -H 显示进程对应线程的信息
top -Hp 130923  #进程 线程都显示  ,然后看具体是那个线程出了问题,占用CPU啥的

Inserte la descripción de la imagen aquí

3.5 Convierta la identificación del hilo en cuestión a hexadecimal.

130923 es el proceso. 130924 es el hilo conductor.

echo 'obase=16;130924' | bc
1FF6C

3.6 id de proceso de jstack java

Jstack java process id filtra el id hexadecimal del hilo de java y se comunica con el desarrollo
Inserte la descripción de la imagen aquí

 jstack 130923 | grep -i 1FF6C -A 10

Inserte la descripción de la imagen aquí

linea divisoria= Lo anterior son los primeros 4 pasos, lo siguiente son 5 6 7 pasos
Inserte la descripción de la imagen aquí

3.7 jmap (muestra información de Java JVM)

jmap (muestra información de java jvm) jmap -heap java process id muestra el uso de memoria de jvm

与jvm相关的 jmap 导出或显示jvm信息
显示:显示jvm使用情况一共多少 ,使用多少,剩余多少。
导出: jvm内存信息数据等等导出到磁盘
jmap -dump 导出jvm内存内容
#jmap -heap javaPid
jps -lvm
#java jvm使用率,后面用来做自定义监控
jmap -heap 130923

Inserte la descripción de la imagen aquí
La cifra anterior analiza principalmente los porcentajes, 67% utilizado, 17% utilizado,

3.8 Exportación de contenido de memoria JVM

# jmap 导出jvm内存的内容
jmap -dump:format=b,file=/root/tmpFile/tomcat.bin 130923
然后将其下载到window,使用java mat进行分析

Inserte la descripción de la imagen aquí

3.8 Analizar a través de la asistencia de I + D de Java mat (familiar)

https://www.cnblogs.com/liuchuanfeng/p/8484641.html "Uso de la herramienta Memory Analyzer (MAT) para analizar las fugas de memoria del proyecto Java"
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
FIN

En cuarto lugar, después de que tomcat configura el nombre de dominio, el acceso al nombre de dominio es normal, acceso ip 404

Se modificaron los atributos del server.xml de Tomcat.
El archivo de hosts ha sido analizado: 192.168.26.138 blog.jpress.org El
problema actual es que el acceso al nombre de dominio es normal y el acceso IP es 404. Inicialmente, cuando es localhost, es normal usar IP para acceder.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

解答:想再用ip,就再添加一个<Host name>值为ip的站点
<Host name="blog.jpress.org"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>

<Host name="192.168.26.138"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>

Inserte la descripción de la imagen aquí

Cinco, función de monitoreo de tomcat (abreviado)

Inserte la descripción de la imagen aquí

jps -lvm

https://blog.csdn.net/daiming573/article/details/106813931/
"proceso de uso y contenido del script show-busy-java-threads"
Inserte la descripción de la imagen aquí

pstree -p
pstree -a

5.1 Monitoreo de tomcat (solo escriba unas 113 líneas)

(Si comienza a informar un error en la versión 8.5, debe escribir el siguiente contenido en una línea o usar el signo \ para dividirlo)
Inserte la descripción de la imagen aquí

jmxremote  tomcat远程监控 有一个固定端口+2个随机端口

Inserte la descripción de la imagen aquí

5.2 jconsole (omitido)

5.3 jvisualVM (略)

Y jmap, jstack

6. Prueba de estrés (abreviada)

6.1 Jmeter (omitido)

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Nightwish5/article/details/114062315
Recomendado
Clasificación