Nginx日志中的响应时间可以通过以下几种方式进行查看和分析:
使用命令行工具
- 统计传输时间超过3秒的页面:
cat access.log | awk '($NF> 3){print$7}' | sort -n | uniq -c | sort -nr | head -20
这条命令会输出传输时间超过3秒的页面的URL,按照响应时间从大到小排序,并显示响应时间和访问次数。
- 统计某路由平均响应时间:
grep "/" access.log | awk '{print$NF}' | grep -P '\d{3}?$' | awk '{sum +=$0;}END {if(sum==0)print 0;else print sum/NR}'
这条命令会计算所有请求的平均响应时间。
使用goaccess工具
goaccess是一个强大的实时web日志分析器以及交互式查看器,可以解析指定的web日志文件并将数据输出到终端中。以下是使用goaccess分析响应时间的步骤:
- 安装goaccess:
wget https://tar.goaccess.io/goaccess-1.7.2.tar.gz tar -xzvf goaccess-1.7.2.tar.gz cd goaccess-1.7.2/ ./configure --enable-utf8 --enable-geoip=mmdb sudo make install
- 指定nginx日志的文件路径:
goaccess /path/to/nginx/access.log
- 分析日志并查看响应时间指标:
goaccess会输出详细的统计报告,其中包括每个请求的响应时间(request_time
)和上游服务器响应时间(upstream_response_time
)。
通过上述方法,您可以有效地查看和分析Nginx日志中的响应时间,从而识别性能瓶颈和优化系统性能。