免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2990 | 回复: 0
打印 上一主题 下一主题

[服务应用] nginx记录分析网站响应慢的请求(ngx_http_log_request_speed) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-17 18:54 |只看该作者 |倒序浏览
本帖最后由 hwlinux 于 2013-10-17 18:54 编辑

nginx模块ngx_http_log_request_speed可以用来找出网站哪些请求很慢,针对站点很多,文件以及请求很多想找出哪些请求比较慢的话,这个插件非常有效.作者的初衷是写给自己用的,用来找出站点中处理时间较长的请求, 这些请求是造成服务器高负载的很大根源. 日志记录之后,在使用perl脚本分析日志,即可知道哪些请求需要修正.
1. 模块安装
nginx第三方模块安装方法,我们ttlsa.com已经说过很多次了,我这边不在重复了。
配置参数

  1. ./configure --prefix=/usr/local/nginx-1.4.1
  2. --with-http_stub_status_module --add-module=../ngx_http_log_request_speed
复制代码
2. 指令log_request_speed
log_request_speed_filter
语法: log_request_speed_filter [on|off]
配置段: n/a
context: location, server, http
启动或禁用模块

log_request_speed_filter_timeout
语法: log_request_speed_filter_timeout [num sec]
默认: 5秒
配置段: location, server, http
这边并不是真正意义的超时,而是说当请求超过这边给定的时间,将会记录到nginx错误日志中. 默认值是5000微秒(5秒),如果一个请求小于5秒,这个请求不会被记录到日志中,但是如果超过5秒,那请求将会被记录到nginx的错误日志中

3. 使用实例
3.1 nginx配置
  1. http{
  2.       log_request_speed_filter on;
  3.       log_request_speed_filter_timeout 3;
  4. ...}
复制代码
错误日志中记录的慢请求如下


nginx慢请求日志
3.2 日志分析

  1. # cd /usr/local/nginx-1.4.1/logs
  2. # wget [url]http://wiki.nginx.org/images/a/a8/Log_Analyzer.tar.gz[/url]
  3. # tar -xzvf Log_Analyzer.tar.gz
  4. # cd request_speed_log_analyzer
  5. # cat ../error.log | grep 'process request'| ./analyzer.pl -r
  6. POST /wp-admin/admin-ajax.php HTTP/1.1 --- avg ms: 1182, value count: 2
  7. GET /shmb/1145.html HTTP/1.1 --- avg ms: 2976, value count: 1 <--- THE WINNER
复制代码
从日志中,我们发现这边有2条请求比较慢,最慢的是/shmb/1145.html ,而且还标示“THE WINNER”,作者你赢了。很幽默。

3.3 分析脚本语法
  1. # ./analyzer.pl -h
  2. -h : this help message # 显示帮助信息
  3. -u : group by upstream # 按upstream分组
  4. -o : group by host # 按主机分组
  5. -r : group by request# 按请求分组,推荐这个
复制代码
4. nginx测试版本
目前作者只在0.6.35和0.7.64下测试,不保证其他环境下可以使用。我当前的测试版本是1.4.1,目前使用正常,在使用前请大家先测试一下。

5. 结束语
首先很感谢作者写的这个简单实用的nginx插件,这个插件的目的不仅仅是记录请求的响应时间,而且是用来找出响应慢的请求。如果你的服务器上有大量的站点,或者大量的程序文件,但是访问量不高,负载却很高,你想找出是哪个请求慢,我想这个插件非常适合你。

参考地址
ngx_http_log_request_speed下载地址:http://wiki.nginx.org/images/7/7 ... equest_speed.tar.gz
ngx_http_log_request_speed脚本地址:http://wiki.nginx.org/images/a/a8/Log_Analyzer.tar.gz
来源站点:运维生存时间网址:http://www.ttlsa.com/html/3244.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP