场景:
Nginx的后端跟着Tomcat,现在要统计实现Nginx的处理时间以及后端
服务器的返回时间。
目的:
对于一个客户端请求,使用日志输出Nginx自身的处理时间,上游服务器的处理时间。
实现:
通过upstream模块的upstream_response_time变量来获取相关信息。
配置:
1.定义logformat
log_format timed_combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'$request_time $upstream_response_time $pipe';
request_time 表明,Nginx处理该请求所需花费的时间。
upstream_response_time 表明上游服务器的处理时间。
pipe 表示是否使用了http pipe
使用该条日志格式:
access_log /var/log/nginx/yourdomain.com.access.log timed_combined;
66.249.71.173 - - [08/Nov/2010:14:16:18 -0600] "GET /blog/2010/apr/30/installing-geodjango-dependencies-homebrew/ HTTP/1.1" 200 6569 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 0.640 0.640 .
0.640 表示,Nginx使用了0.640s的时间去相应客户端,其中上游服务器占用了0.640s,Nginx本身没有花费任何时间,并且没有使用pipeline
网站名称:Nginx使用日志输出上游服务器和自身的处理时间
文章转载:
http://6mz.cn/article/iedjoe.html