nginx优化之request_time 和upstream_response_time差别

1、request_time

官网描述:request processing time in seconds with a milliseconds resolution; time elapsed between the first bytes were read fronginx配置m the clie响应时间4ms和1msnt and the log write after the last bytes we响应时间过长怎么解决re sent to the client 。

指的就是从接受用户请求的第一个字节到发送完响应数据的时间,即包括接收请求数据时间、程序响应时间、输出响应数据时间。

2、upstream_response_time

官网描述:keeps times of responses obtainlinuxed from upstream serve响应时间是什么意思rs; times are kept in seconds with a milllinux操作系统基础知识iseconds resolutio系统/运维n. Several response times are separated by commas and colons like addresses in the $upstream_addr variable

是指从Nglinux必学的60个命令in屏幕响应时间x向后端(php-cgi)建立连接开始到接受完数据nginx重启命令然后关闭连接为止的时间。

从上面的描述可以看出,$reques系统响应时间t_time肯定大于等于$upstream_response_time,特别是系统响应时间使用POST方式传递参数时系统运维工程面试问题及答案,因为Nginx会把requ系统运维工程est body缓存住,接受完毕后才会把数据一起发给后端。所以如果用户网络较差,或者linux传递数据较大时,$request_time会比$upstream_response_time大很多。

所以如果使用nginx的accessl响应时间过长怎么解决og查看php程序中哪些接口比较慢的话,记得在log_format中加入$upstream_response_time。

根据引贴对官网描述的翻译:

upstreanginx怎么读m_reslinuxponse_time:从 Nginx 建立连接 到 接收完数系统响应时间据并关闭响应时间是什么意思连接

request_linux常用命令time:从 接受用户请求的第一个字节 到 发送完响应数据

如果把整个过程补充起来的话 应该是:

[1用户请求][2建立 Nginx 连接][3发送响应][linux重启命令4接收php后端的响应数据][5关闭 Nginlinux创建文件x 连接]

那么 upstream_response_time 就是 2+3+4+5,上游响应时间,即PHP后端总共花了多少时间来回应这个请求,其中还包括了nginx和php建立连接的时间。

但是 一般这里面可以认为 [5关闭 Nginlinux系统安装x 连接] 的耗时接近 0

所以 upstream_response_time 实际上就是 2+3+4

而 request_time 是 1+2+3+4

二者之间相差的就是 [1用户请求] 的时间

如果用户端网络状况较差 或者传递数据本身较大

再考虑到 当使用 POST 方式传参时linux是什么操作系统 Nginx 会先把 requnginx负载均衡est body 缓存起来nginx反向代理

而这些耗时都会累积到 [1用户请求] 头上去

这样就nginx重启解释了

为什么 request_time 有可能会比 upstreanginx怎么读m_response系统响应时间_time 要nginx反向代理

因为用户端的状况通常千差万别 无法控制

所以并不应该被纳入到测试和调优的范畴里面

更值得关注的应linux是什么操作系统该是 upstream_系统运维包括哪些内容response_time

所以在实际工作中 如果想要关心哪些系统响应时间请求比较慢的话

记得要系统运维主要做什么配置文件的 log_format 中加入 $upstream_response_time