在 CentOS 的 Tomcat 中查看请求响应时间
一 准备与定位日志文件
tail -f $CATALINA_HOME/logs/catalina.outtail -f $CATALINA_HOME/logs/localhost_access_log.*.txtjournalctl -u tomcat -f二 配置访问日志输出响应时间
%T%D<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 单位为毫秒;二者可同时输出。sudo systemctl restart tomcat三 常用命令快速查看与分析
tail -f $CATALINA_HOME/logs/localhost_access_log.*.txt | awk '{print $NF}'awk '{print $NF, $0}' $CATALINA_HOME/logs/localhost_access_log.*.txt | sort -nr | head -10awk '{sum+=$NF; n++;} END {printf "avg=%.2f ms\n", sum/n}' $CATALINA_HOME/logs/localhost_access_log.*.txtawk '{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四 常见问题与排查
catalina.out,如保留最近 7 天并压缩:/usr/local/tomcat/logs/catalina.out {
daily
rotate 7
missingok
notifempty
compress
delaycompress
sharedscripts
}
fileDateFormat="yyyy-MM-dd.HH"。journalctl -u tomcat -f 查看服务日志,但响应时间通常仍以访问日志为准。