centos tomcat日志中如何查看响应时间
导读:在 CentOS 的 Tomcat 中查看请求响应时间 一 准备与定位日志文件 日志默认位于 $CATALINA_HOME/logs,常见文件: catalina.out:启动与应用的标准输出/错误。 localhost_access_...
在 CentOS 的 Tomcat 中查看请求响应时间
一 准备与定位日志文件
- 日志默认位于 $CATALINA_HOME/logs,常见文件:
- catalina.out:启动与应用的标准输出/错误。
- localhost_access_log.yyyy-MM-dd.txt:访问日志(是否记录响应时间取决于配置)。
- 常用查看方式:
- 实时查看:
tail -f $CATALINA_HOME/logs/catalina.out - 实时查看访问日志:
tail -f $CATALINA_HOME/logs/localhost_access_log.*.txt - 如以 systemd 管理:
journalctl -u tomcat -f
- 实时查看:
- 若访问日志尚未输出响应时间,需按下方步骤开启对应字段。
二 配置访问日志输出响应时间
- 编辑 $CATALINA_HOME/conf/server.xml,在 内添加或修改 AccessLogValve,通过 pattern 输出耗时字段:
- 记录耗时(秒,浮点):
%T - 记录耗时(毫秒,整数):
%D - 示例(combined 格式并追加耗时毫秒):
< Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b %{ Referer} i %{ User-Agent} i %D" resolveHosts="false"/> - 说明:
%T单位为秒,%D单位为毫秒;二者可同时输出。- 修改后需重启 Tomcat:
sudo systemctl restart tomcat - 常见 pattern 占位符含义可参考官方文档与常用配置说明。
- 记录耗时(秒,浮点):
三 常用命令快速查看与分析
- 实时查看带耗时的访问日志(毫秒):
tail -f $CATALINA_HOME/logs/localhost_access_log.*.txt | awk '{ print $NF} '
- Top N 最慢请求(按毫秒耗时,取前10):
awk '{ print $NF, $0} ' $CATALINA_HOME/logs/localhost_access_log.*.txt | sort -nr | head -10
- 统计平均耗时(秒级,保留两位小数):
awk '{ sum+=$NF; n++; } END { printf "avg=%.2f ms\n", sum/n} ' $CATALINA_HOME/logs/localhost_access_log.*.txt
- 按 URL 聚合统计平均耗时(需按实际日志列号调整 $NF 与 $7 等字段):
awk '{ url=$7; sum[url]+=$NF; cnt[url]++} END { for(u in sum) printf "%.2f ms\t%s\n", sum[u]/cnt[u], u} ' $CATALINA_HOME/logs/localhost_access_log.*.txt | sort -nr | head
- 说明:上述示例默认耗时在最后一列(即 %D);如使用 %T(秒),可将阈值与统计单位相应调整为秒。
四 常见问题与排查
- 访问日志没有耗时字段:确认 AccessLogValve 已配置并包含 %T 或 %D,修改后重启 Tomcat 生效。
- 日志过大与轮转:
- 使用 logrotate 管理
catalina.out,如保留最近 7 天并压缩:/usr/local/tomcat/logs/catalina.out { daily rotate 7 missingok notifempty compress delaycompress sharedscripts } - 访问日志可按时间切割(如按小时):在 AccessLogValve 上设置
fileDateFormat="yyyy-MM-dd.HH"。
- 使用 logrotate 管理
- 通过 systemd 运行的 Tomcat,也可用
journalctl -u tomcat -f查看服务日志,但响应时间通常仍以访问日志为准。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos tomcat日志中如何查看响应时间
本文地址: https://pptw.com/jishu/747903.html
