关于Nginx无法传递上传耗时 upTransferTime 给 upstream 现状说明

  |   0 评论   |   1,181 浏览

image.png

我们知道nginx的日志里面有一个字段是request_time. 是记录总时间的.

注: request_time 时间从接收到Client的第一个字节到发送完最后一个字节给 Client 记为 Request

另外Nginx日志中有另外一个日志字段: upstream_response_time , 这个日志表示从发送第一个字节给upstream到接收完upstream的最后一个字节的时间.

有了这两个时间,我们就可以间接的得到: client相关的传输总时间. 包含:up_transferdown_transfer, 即:

transfer_time 
= up_transfer_time + down_transfer_time
= request_time - upstream_response_time

一般场景下,这个传输时间可能不是特别的明显. 传输的数据包都特别的小. 更多的是网络的固定延时对请求的质量影响更大一些. 但是在一些特殊的场景下. 上行传输时间可能会特别长, 比如上传文件. 此时这种场景下上传时间就会变得特别可观. 当一个请求如果传输时间过长, 可能在upstream接收到请求的时候用户可能已经放弃了. 或者说这个请求已经处于过期状态了. 再继续处理已经没有了意义.

评论

发表评论


取消