Nginx日志中的響應時間可以通過以下幾種方式進行查看和分析:
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是一個強大的實時web日志分析器以及交互式查看器,可以解析指定的web日志文件并將數據輸出到終端中。以下是使用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
goaccess /path/to/nginx/access.log
goaccess會輸出詳細的統計報告,其中包括每個請求的響應時間(request_time
)和上游服務器響應時間(upstream_response_time
)。
通過上述方法,您可以有效地查看和分析Nginx日志中的響應時間,從而識別性能瓶頸和優化系統性能。