通过Nginx,Tomcat访问日志(access log)记录请求耗时

本文详细介绍了如何使用Nginx和Tomcat的日志格式来统计请求的响应时间,包括Nginx的request_time和upstream_response_time的区别,以及Tomcat的%D和%T参数的使用。同时,提供了利用awk命令处理access.log文件,进行分钟级请求数统计和超时请求筛选的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Nginx通过$upstream_response_time requesttime统计请求和后台服务响应时间nginx.conf使用配置方式:logformatmain′request_time统计请求和后台服务响应时间 nginx.conf使用配置方式: log_format main 'requesttimenginx.conf使logformatmainremote_addr - remoteuser[remote_user [remoteuser[time_local] “KaTeX parse error: Double superscript at position 12: request" ' '̲status bodybytessent"body_bytes_sent "bodybytessent"http_referer” ’ ‘“httpuseragent""http_user_agent" "httpuseragent""http_x_forwarded_for”’ '$connection $upstream_addr ’ 'upstream_response_time $upstream_response_timerequest_time $request_time ';
requesttime和request_time和requesttimeupstream_response_time之间差别:
requesttime包含了用户数据接收时间,而真正程序的响应时间应该用request_time包含了用户数据接收时间,而真正程序的响应时间应该用requesttimeupstream_response_time 所以如果用户网络较差,或者传递数据较大时,requesttime会比request_time会比requesttimeupstream_response_time大很多 详细参考:
二、Tomcat通过%D或%T统计请求响应时间
server.xml使用配置方式
%D - 官方解释:Time taken to process the request, in millis,处理请求的时间,以毫秒为单位 %T - 官方解释:Time taken to process the request, in seconds,处理请求的时间,以秒为单位 %F - 官方解释:Time taken to commit the response, in millis,提交响应的时间,以毫秒为单位 详细说明:http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Access_Logging

三、通过awk命令辅助统计access.log
1.简单统计nginx访问日志access log每分钟请求数
awk -F: ‘{count[$2":"$3]++} END {for (minute in count) print minute, count[minute]}’ /usr/local/nginx/logs/access.log | sort > count.log
结果如下所示(count.log) 18:30 2086 18:31 2184 18:32 2176 18:33 2122 18:34 2128 18:35 2179 …
参考:http://huoding.com/2013/01/26/215

2.统计请求响应时间超过10s的记录
awk ‘($NF > 10){print $0}’ /usr/local/tengine/logs/cut-log/access_2015-01-12.log >t10_0112.log
更多awk命令统计访问日志参考:http://www.ibm.com/developerworks/cn/linux/l-cn-awk-httplog/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值