查看“Nginx日志基础”的源代码
←
Nginx日志基础
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==request_time和$upstream_response_time== <pre> 响应时间相关的一般有 $request_time 和 $upstream_response_time $request_time包含了用户数据接收时间,而真正程序的响应时间应该用$upstream_response_time。 下面介绍下2者的差别: 1、request_time 官网描述:request processing time in seconds with a milliseconds resolution; time elapsed between the first bytes were read from the client and the log write after the last bytes were sent to the client 。 指的就是从接受用户请求的第一个字节到发送完响应数据的时间,即包括接收请求数据时间、程序响应时间、输出响应数据时间。 2、upstream_response_time 官网描述:keeps times of responses obtained from upstream servers; times are kept in seconds with a milliseconds resolution. Several response times are separated by commas and colons like addresses in the $upstream_addr variable是指从Nginx向后端(php-cgi)建立连接开始到接受完数据然后关闭连接为止的时间。 从上面的描述可以看出,$request_time肯定比$upstream_response_time值大,特别是使用POST方式传递参数时,因为Nginx会把request body缓存住,接受完毕后才会把数据一起发给后端。所以如果用户网络较差,或者传递数据较大时,$request_time会比$upstream_response_time大很多。 所以如果使用nginx的accesslog查看php程序中哪些接口比较慢的话,记得在log_format中加入$upstream_response_time。 程序哥想看脚本执行时间 于是 #after log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$upstream_response_time $status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; log_format main_post '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$request_body" $upstream_response_time'; </pre> ==参考== nginx log_format日志配置(转) http://blog.linuxchina.net/?p=2215 nginx优化之request_time 和upstream_response_time差别 http://wuzhangshu927.blog.163.com/blog/static/114224687201310674652147/ [[category:nignx]] [[category:ops]]
返回至
Nginx日志基础
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息