Debian下排查Tomcat性能瓶颈的实操流程
一 快速定位瓶颈类型
二 日志与访问日志分析
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="/var/log/tomcat9"
prefix="access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %D "%{User-Agent}i""
rotatable="true" fileDateFormat="yyyy-MM-dd-HH-mm"/>
grep "GET" /var/log/tomcat9/localhost_access_log.*.txt \
| awk '{print $4}' | cut -d: -f2 \
| sort | uniq -c | sort -nr
三 JVM与内存诊断
-Xloggc:/var/log/tomcat9/gc.log
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=10M
-Xms2g -Xmx2g
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m
四 线程、连接器与数据库
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="50"
maxIdleTime="60000" prestartminSpareThreads="true"
maxQueueSize="100"/>
五 网络与综合监控及优化落地