文档章节

nginx log记录请求响应时间

swingcoder
 swingcoder
发布于 09/22 12:03
字数 450
阅读 289
收藏 0

2018.10.22 阿里云对默认nginx log的分析功能详细介绍

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如

添加一个新的log_format

log_format  timed_combined  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for" '

                        '$request_time $upstream_response_time';

 然后引用这个新的日志格式

access_log  /var/log/nginx/access.log  timed_combined;

几个时间变量的解释

  • $request_time – Full request time, starting when NGINX reads the first byte from the client and ending when NGINX sends the last byte of the response body
  • $upstream_connect_time – Time spent establishing a connection with an upstream server
  • $upstream_header_time – Time between establishing a connection to an upstream server and receiving the first byte of the response header
  • $upstream_response_time – – Time between establishing a connection to an upstream server and receiving the last byte of the response body

如果使用是阿里云,就可以使用他们的日志服务,方便的查询到各执行时间了,如下图:

后记:

2019.9.25 注意,并发请求时,时间有可能会累计,导致对单个请求的时长统计并不准确。

2019.9.26 这个时间跟请求的客户端网速有关系,不是纯的内部处理时长。如果请求客户端网速越慢,时长越大。而且如果你没有使用upstream配置,返回的也是整个请求的处理时长(亦跟客户端网速有关)。

Nginx还支持自定义时间参数的下钻功能,只要在http头上添加相关头字段,并在log_format配置上就可以提取得到了。

参考

https://lincolnloop.com/blog/tracking-application-response-time-nginx/

https://www.nginx.com/blog/using-nginx-logging-for-application-performance-monitoring/

© 著作权归作者所有

共有 人打赏支持
swingcoder
粉丝 32
博文 314
码字总数 72224
作品 0
广州
技术主管
私信 提问
nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)

nginx模块ngxhttplogrequestspeed可以用来找出网站哪些请求很慢,针对站点很多,文件以及请求很多想找出哪些请 求比较慢的话,这个插件非常有效.作者的初衷是写给自己用的,用来找出站点中处...

小运
2013/10/08
0
0
通过Nginx,Tomcat访问日志(access log)记录请求耗时

nginx.conf使用配置方式: logformat main '$remoteaddr - $remoteuser [$timelocal] "$request" ' '$status $bodybytessent "$httpreferer" ' '"$httpuseragent" "$httpxforwardedfor"' '$c......

吕兵阳
2016/03/20
471
0
nginx的log、upstream和server

nginx的log、upstream和server 一、log 首先一个log格式化的例子。 #配置格式main的loglogformat main '$host $status [$timelocal] $remoteaddr [$timelocal] $request_uri ' '"$httprefere......

GITTODO
2016/02/22
659
0
nginx日志配置

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

西安老男孩
2017/11/20
0
0
Nginx 日志各项参数含义

一、日志分类 Nginx日志主要分为两种访问日志和错误日志。日志开关在Nginx配置文件/etc/nginx/nginx.conf中设置两种日志都可以选择性关闭默认都是打开的。 1、访问日志 访问日志主要记录客户...

银河zlm
2017/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ElasticSearch实战:Linux日志对接Kibana

本文由云+社区发表 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTFul web接口。ElasticSearch是用Java开发的,并作为Apache许可条款下...

腾讯云加社区
14分钟前
0
0
FeignClient超时配置

1前沿 使用Feign调用接口分两层,ribbon的调用和hystrix的调用,所以ribbon的超时时间和Hystrix的超时时间的结合就是Feign的超时时间 1.1ribbon配置 ribbon: OkToRetryOnAllOperations: f...

lovelan1314
17分钟前
0
0
分布式ID

grace_233
20分钟前
0
0
spring boot集成socketIO

spring boot集成netty-socketio java用socket给用户分组,然后给分组发送消息,或者给单个人发送消息 第一步:加载netty-socketio包 <dependency><groupId>com.corundumstudio.socketio<......

小马_wolf
22分钟前
0
0
Linux无法写入权限问题 & 解决Wordpress不能自动安装主题、插件

正 文: 当你的wordpress遇到以下问题时: 1、不能上传图片 2、不能自动安装主题、插件(需要FTP账户) 3、不能自动更新 4、其它任何需要wordpress写文件的问题 这些问题基本都是一个原因,你...

Yao--靠自己
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部