• 1、request_time
  • 2、upstream_response_time
  • 3、比较
  • 4、结论

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 建立连接开始到接受完数据然后关闭连接为止的时间。

3、比较

  • 从上面的描述可以看出,$request_time肯定大于等于 $upstream_response_time,特别是使用POST方式传递参数时,因为Nginx会把request body 缓存住,接受完毕后才会把数据一起发给后端。所以如果用户网络较差,或者传递数据较大时,$request_time会比$upstream_response_time 大很多。
  • 所以如果使用nginxaccesslog 查看 php 程序中哪些接口比较慢的话,记得在 log_format 中加入$upstream_response_time

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

  • upstream_response_time: 从 Nginx 建立连接 到 接收完数据并关闭连接
  • request_time: 从 接受用户请求的第一个字节 到 发送完响应数据

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

  • 1 用户请求 -> 2 建立 Nginx 连接-> 3 发送响应 -> 4 接收响应 -> 5 关闭 Nginx 连接
  • 那么 upstream_response_time 就是 2+3+4+5
  • 但是 一般这里面可以认为 5 关闭 Nginx 连接 的耗时接近 0
  • 所以 upstream_response_time 实际上就是 2+3+4
  • request_time 是 1+2+3+4
  • 二者之间相差的就是 1 用户请求 的时间

4、结论

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

  • 再考虑到 当使用 POST 方式传参时Nginx 会先把 request body 缓存起来

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

  • 这样就解释了

  • 为什么 request_time 有可能会比 upstream_response_time 要大

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

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

  • 更值得关注的应该是 upstream_response_time

  • 所以在实际工作中 如果想要关心哪些请求比较慢的话

  • 记得要在配置文件的 log_format 中加入 $upstream_response_time

nginx access日志log_format优化之request_time 和upstream_response_time差别相关推荐

  1. nginx access日志按时间进行分割

    按小时过滤日志: #!/bin/bash #file log path log_file='/var/log/nginx/access.log'last_hour=1 # start time sta ...

  2. ELK 分析 nginx access 日志

    注意:修改配置后建议重新创建index 1.nginx 日志文件格式 1 2 3 log_format elk "$http_clientip | $http_x_forwarded_for ...

  3. ELK之日志收集filebeat,并对nginx,tomcat access日志JSON格式化

    2019独角兽企业重金招聘Python工程师标准>>> 一:ELK日志收集器组件filebeat下载 官方下载地址:https://www.elastic.co/downloads/ ...

  4. Ekl去记录nginx的日志

    什么是 ELK? ELK 是 Elasticsearch.Logstash.Kibana 三大开源框架首字母大写简称. Elasticsearch 是强大的数据搜索引擎,是分布式.通过 restful ...

  5. nginx在linux中查看日志信息,nginx查看日志

    nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 error log 则是记录服务器错误日 ...

  6. filebeat获取nginx的access日志配置

    filebeat获取nginx的access日志配置产生nginx日志的服务器即生产者服务器配置: 拿omp.chinasoft.com举例: 1.nginx.conf主配置文件添加日志格式log_f ...

  7. 转-nginx日志log_format的详细参数

    2019独角兽企业重金招聘Python工程师标准>>> nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定 ...

  8. log_format为nginx设置日志格式

    nginx服务器日志相关指令主要有两条 1.一条是log_format,用来设置日志格式. 2. 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,一般在nginx的配置文件 ...

  9. Nginx输出header到access日志文件

    Nginx输出header到access日志文件 背景 配置 nginx配置如下 http块配置如下 日志效果如下 背景 为了排查线上的bug,需要在nginx的日志中,打印客户端上传上来的heade ...

  10. 【Nginx 日志配置】【访问日志log_format】【错误日志error_log 指令】【Nginx的日志轮转】

    文章目录 Nginx 日志配置 `log_format` 指令中常用的一些变量: 访问日志 案例 可以配置段:`http`, `stream`, `server`, `location`作用域. er ...

最新文章

  1. android context继承关系,android中Context深入详解
  2. HTML5 Canvas像素处理常用接口
  3. Ubuntu20.04 服务器版安装
  4. 英雄联盟祖安服务器要维护多久,祖安玩家的春天!英雄联盟将回归队内语音,娱乐玩家遭殃了?...
  5. Shiro学习总结(4)——Shrio登陆验证实例详细解读
  6. Java中的ArrayList类和LinkedList
  7. css3 实现图片旋转
  8. 如何统计项目代码行数
  9. python批量查询(excel)数据
  10. 安卓手机管理器_Kindle 传书最简单的方式:安卓/苹果手机都可以一键传书至Kindle!...
  11. 编写微信聊天机器人3《聊天精灵WeChatGenius》:使用Xposed来hook微信,找到微信进程。
  12. 10年,从一个月薪2500的设备维修工,迫于压力转行,直到成为自动化测试专家···
  13. C#(pronounced: see sharp) 与 .NET
  14. 如何设置html的背景效果,背景图片的透明度如何设置(CSS)
  15. houdini 摄像机使用
  16. 微信有没有免费提现服务器,微信终于可以免费提现了,速领!
  17. PAT练习 骨牌铺方格
  18. APS排程软件自动分配任务到多台机台同时生产
  19. 什么是JAVA人才外派服务?
  20. Keynote特效案例集

热门文章

  1. 3802.消灭数组-AcWing题库
  2. 题目263-精 挑 细 选
  3. 【PAT B1019/A1069】数字黑洞
  4. c++ 读文件_C语言文件操作大全
  5. 你的手机浏览器不支持webgle_中国联通回应“逐渐关闭2G、3G网络”:系用户手机不支持...
  6. php session 加密,php session cookie加密实例
  7. hbuilder怎么设置网页的大小_怎么免费将图片转成PDF?这个方法超简单
  8. 覆盖php扩展后服务挂了,PHP 扩展管理
  9. 等高线生成地形_等高线一键变地形模型
  10. 45个python入门案例_给Python小白看的10个使用案例,入门Python就在这里了