/var/log/tomcat/
目录,主要关注localhost_access_log.*.txt
(访问日志)和catalina.out
(主日志)。tail -f
命令实时监控日志,如tail -f /var/log/tomcat/localhost_access_log.2025-08-06.txt
。基于响应时间阈值
通过grep
+awk
筛选处理时间(QTime或%D字段)超过阈值的请求,例如:
grep 'QTime' /var/log/tomcat/localhost_access_log.*.txt | awk -F 'QTime:' '{if ($2 > 800) print $0}'
(假设阈值800毫秒)。
或使用脚本自动化分析(参考中示例,统计响应时间并输出超阈值记录)。
时间段筛选
用sed
命令提取特定时间段的日志,如sed -n '/2025-08-06 10:00/,/2025-08-06 12:00/p' catalina.out
。
工具辅助
pt-query-digest
(需安装Percona工具包)分析慢查询日志,提取高频慢SQL。ELK Stack
(Elasticsearch+Logstash+Kibana)或Grafana
可视化日志数据,定位性能瓶颈。优化方向
EXPLAIN
),避免全表扫描。server.xml
中线程池参数(maxThreads
、minSpareThreads
),启用压缩(compression="on"
)减少传输耗时。-Xms
/-Xmx
)和垃圾回收器(如G1),减少GC停顿。top
、iostat
等命令排查资源瓶颈。pattern
中包含%D
或QTime
字段)。参考资料: