https://www.cnblogs.com/f-ck-need-u/p/8120008.html#1-web-「LongShuaiのTomcat」
1. Tomcatの動作モード(bio、bio、apr)
動作モードの変更もチューニングの一部です。ここでは、Jmeterのビューから調整されたパラメーター(スループットなど)を一致させることができます。
現在使用されているモードはhttp://192.168.26.138:8080/manager/statusで確認できます。
起動が完了した後、catalina.outログの最後でどのモードが使用されているかも確認できます。
1.1 server.xmlを変更して、作業モードを変更します(作成予定)
8.5バージョンのデフォルトのnioモード
protocol="HTTP/1.1"
nio2モードに調整し、プロトコルの値を変更します
<Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000"
redirectPort="8443" />
4月モードに調整
#安装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" />
2つ、Tomcatの複数のインスタンス
同じサーバーで複数のtomcatを実行するための実装プロセスは、次のとおりです。
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/
#分别启动另外两个实例8081和8082:
/application/tomcat_8081/bin/startup.sh
/application/tomcat_8082/bin/startup.sh
ss -naltp | grep java
echo "tomcat_8081" > /application/tomcat_8081/webapps/ROOT/index.jsp
echo "tomcat_8082 ..." > /application/tomcat_8082/webapps/ROOT/index.jsp
3つのトムキャット:
3. Tomcat障害の場合-高負荷(*)
最初のバージョン:
3.1 vmstatは、CPUまたはディスクによって引き起こされた高負荷を検出します
左側のprocsの下にあるrとbを見てください。
r数値が大きいほど、システムのCPU使用率が高くなります
。b数値が大きいほど、ディスクIOが高くなります。
[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は、pidが引き起こしたプロセスを具体的に確認します
3.3 iotopは、各プロセスのioステータスpidを表示します
iotop -o #只显示在进行读写的进程
3.4jpsはtop-pと協力してJavaプロセスを監視します
pstree -p:
130923はプロセスであり、後ろの山はスレッドです
jps -lvm
pstree -p
#这个pid是java进程的pid
top -p 130923 # 只有进程显示 -p指定pid , -H 显示进程对应线程的信息
top -Hp 130923 #进程 线程都显示 ,然后看具体是那个线程出了问题,占用CPU啥的
3.5問題のスレッドIDを16進数に変換します。
130923はプロセスです。130924はスレッドです。
echo 'obase=16;130924' | bc
1FF6C
3.6 jstackjavaプロセスID
Jstack javaプロセスIDは、Javaスレッドの16進IDをフィルタリングし、開発と通信します
jstack 130923 | grep -i 1FF6C -A 10
分割線=上記は最初の4つのステップであり、以下は5 67ステップです。
3.7 jmap(java jvm情報を表示)
jmap(java jvm情報を表示)jmap -heap javaプロセスIDは、jvmのメモリ使用量を表示します
与jvm相关的 jmap 导出或显示jvm信息
显示:显示jvm使用情况一共多少 ,使用多少,剩余多少。
导出: jvm内存信息数据等等导出到磁盘
jmap -dump 导出jvm内存内容
#jmap -heap javaPid
jps -lvm
#java jvm使用率,后面用来做自定义监控
jmap -heap 130923
上の図は、主に使用率67%、使用率17%、
3.8JVMメモリコンテンツのエクスポート
# jmap 导出jvm内存的内容
jmap -dump:format=b,file=/root/tmpFile/tomcat.bin 130923
然后将其下载到window,使用java mat进行分析
3.8 Javaマット(使い慣れた)R&D支援による分析
https://www.cnblogs.com/liuchuanfeng/p/8484641.html「メモリアナライザツール(MAT)を使用したJavaプロジェクトのメモリリークの分析」
END
第4に、tomcatがドメイン名を構成した後、ドメイン名へのアクセスは正常です。ipaccess404
Tomcatのserver.xmlの属性を変更しました。
ホストファイルが解析されました:192.168.26.138 blog.jpress.org
現在の問題は、ドメイン名アクセスが正常であり、IPアクセスが404であるということです。最初は、ローカルホストの場合、アクセスにIPを使用するのが普通です。
解答:想再用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 "%r" %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 "%r" %s %b" />
</Host>
5、Tomcat監視機能(省略)
jps -lvm
https://blog.csdn.net/daiming573/article/details/106813931/「show-busy-java-threads
スクリプトの内容と使用プロセス」
pstree -p
pstree -a
5.1 Tomcatの監視(約113行を書き込むだけ)
(バージョン8.5でエラーの報告を開始する場合は、次の内容を1行で記述するか、\記号を使用して分割する必要があります)
jmxremote tomcat远程监控 有一个固定端口+2个随机端口
5.2 jconsole (略)
5.3 jvisualVM(略)
そしてjmap、jstack