nginx模块ngx_http_log_request_speed可以用来找出网站哪些请求很慢,针对站点很多,文件以及请求很多想找出哪些请求比较慢的话,这个插件非常有效.作者的初衷是写给自己用的,用来找出站点中处理时间较长的请求, 这些请求是造成服务器高负载的很大根源. 日志记录之后,在使用perl脚本分析日志,即可知道哪些请求需要修正.

1. 模块安装

nginx第三方模块安装方法,我们ttlsa.com已经说过很多次了,我这边不在重复了。

配置参数

./configure --prefix=/usr/local/nginx-1.4.1 --with-http_stub_status_module \

--add-module=../ngx_http_log_request_speed

1

2

./configure--prefix=/usr/local/nginx-1.4.1--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配置

http{

log_request_speed_filter on;

log_request_speed_filter_timeout 3;

...

}

1

2

3

4

5

http{

log_request_speed_filteron;

log_request_speed_filter_timeout3;

...

}

错误日志中记录的慢请求如下

nginx慢请求日志

3.2 日志分析

cd /usr/local/nginx-1.4.1/logs

wget http://wiki.nginx.org/images/a/a8/Log_Analyzer.tar.gz

tar -xzvf Log_Analyzer.tar.gz

cd request_speed_log_analyzer

# cat ../error.log | grep 'process request'| ./analyzer.pl -r

POST /wp-admin/admin-ajax.php HTTP/1.1 --- avg ms: 1182, value count: 2

GET /shmb/1145.html HTTP/1.1 --- avg ms: 2976, value count: 1

1

2

3

4

5

6

7

cd/usr/local/nginx-1.4.1/logs

wgethttp://wiki.nginx.org/images/a/a8/Log_Analyzer.tar.gz

tar-xzvfLog_Analyzer.tar.gz

cdrequest_speed_log_analyzer

# cat ../error.log | grep 'process request'| ./analyzer.pl -r

POST/wp-admin/admin-ajax.phpHTTP/1.1---avgms:1182,valuecount:2

GET/shmb/1145.htmlHTTP/1.1---avgms:2976,valuecount:1

从日志中,我们发现这边有2条请求比较慢,最慢的是/shmb/1145.html ,而且还标示“THE WINNER”,作者你赢了。很幽默。

3.3 分析脚本语法

# ./analyzer.pl -h

-h : this help message # 显示帮助信息

-u : group by upstream # 按upstream分组

-o : group by host # 按主机分组

-r : group by request # 按请求分组,推荐这个

1

2

3

4

5

# ./analyzer.pl -h

-h:thishelpmessage# 显示帮助信息

-u:groupbyupstream# 按upstream分组

-o:groupbyhost# 按主机分组

-r:groupbyrequest# 按请求分组,推荐这个

4. nginx测试版本

目前作者只在0.6.35和0.7.64下测试,不保证其他环境下可以使用。我当前的测试版本是1.4.1,目前使用正常,在使用前请大家先测试一下。

5. 结束语

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

参考地址

ngx_http_log_request_speed下载地址:http://wiki.nginx.org/images/7/78/Ngx_http_log_request_speed.tar.gz

ngx_http_log_request_speed脚本地址:http://wiki.nginx.org/images/a/a8/Log_Analyzer.tar.gz

nginx post请求超时_nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)相关推荐

  1. log nginx 客户端请求大小_Nginx日志分析和参数详解

    本文档主要介绍Nginx设置日志参数的作用,以及Nginx日志常用分析命令 基本大纲: 1.Nginx日志记录格式的介绍 2.Nginx日志参数详解 3.Web服务流量名词介绍 4.Nginx日志常用 ...

  2. nginx post请求超时_nginx的重试机制以及nginx常用的超时配置说明

    nginx的重试机制 现在对外服务的网站,很少只使用一个服务节点,而是部署多台服务器,上层通过一定机制保证容错和负载均衡. nginx就是常用的一种HTTP和反向代理服务器,支持容错和负载均衡. ng ...

  3. nginx过滤post请求头_Nginx Header,实现对HTTP/S请求、响应进行添加、修改、删除等操作...

    Nginx Header,实现对HTTP/S请求.响应进行添加.修改.删除等操作 通过Nginx内置 文档地址: http://nginx.org/en/docs/http/ngx_http_head ...

  4. nginx post请求超时_Nginx 的超时 timeout 配置详解

    本文介绍 Nginx 的 超时(timeout)配置.分享给大家,具体如下: Nginx 处理的每个请求均有相应的超时设置.如果做好这些超时时间的限定,判定超时后资源被释放,用来处理其他的请求,以此提 ...

  5. jmeter404_JMeter – 如何记录失败的响应的完整请求?

    我使用JMeter命令行来压力测试我们的网站api.现在,这里是我回来的示例结果: Creating summariser Created the tree successfully using st ...

  6. 炉石服务器请求超时何时才能修复,炉石传说登陆提示请求已超时怎么办_炉石传说登陆提示请求已超时解决方法_3DM网游...

    炉石传说登陆提示请求已超时怎么办?2月19日开始,一些玩家在登录炉石传说移动端的时候出现了登陆提示请求已超时的情况,无法进入游戏,不知道怎么解决,下面小编为大家带来了炉石传说登陆提示请求已超时解决方法 ...

  7. 请求失败或服务器为及时响应,SQLServer(MSSQLSERVER)请求失败或服务未及时响应,有关详细信息,请参见事件日志或其他的适用的错误日志。...

    问题描述: 有时候网站访问不起,打开详细错误描述,出现如下图错误. 看到错误提示,便知道是连接数据库失败导致.到数据库服务器检查,发现mssqlserver服务停止了,手动启动服务,又出现服务无法响应 ...

  8. pHP分析网站日志,通过用数据挖掘技术来分析Web网站日志?

    Web日志挖掘是指采用数据挖掘技术,对站点用户访问Web服务器过程中产生的日志数据进行分析处理,从而发现Web用户的访问模式和兴趣爱好等,这些信息对站点建设潜在有用的可理解的未知信息和知识,用于分析站 ...

  9. Java-如何挖取某个网站中的ajax请求信息

    通常情况,通过网络爬虫挖取到的基本为网页静态内容,而动态ajax取数的内容是我个人暂时不知如何一次性把网站中的ajax获取 这里介绍的是某个网站中的某一个ajax多某个table刷新,期数据,并提供其 ...

最新文章

  1. 利用逻辑回归进行简单的人群分类解决广告推荐问题
  2. 笔记本老出现计算机,电脑老是自动重启,教您如何有效解决这个问题
  3. JasperReports:棘手的部分
  4. 机器学习实战(笔记)------------KNN算法
  5. 2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(下)
  6. oracle 数据库字段html显示正常text显示不全,layui表格字段表格显示不全(自适应)...
  7. 3位高二女生用大数据成功预测地铁出站人数 | 00后正在抛弃你
  8. python列表数据类型-入门学习
  9. 基于summernote的富文本编辑器,粘贴时去除word、html格式
  10. 2020年Deribit成交量达2110亿美元 同比增长82%
  11. 【坐在马桶上看算法】算法3:最常用的排序——快速排序
  12. 制作chrome插件
  13. html英文期刊参考文献,外文期刊参考文献标准格式
  14. 数字图像处理(冈萨雷斯)学习 第二章 数字图像基础
  15. JavaWeb查漏补缺
  16. dnf手游登录不显示服务器,不要着急 DNF手游提示登录失败error7正确解决方法
  17. jzojNOIP2014模拟 8.14总结
  18. 语音芯片排行榜,为何唯创知音WT588F语音芯片如此受欢迎
  19. matlab实现彩色图像转成灰度图像
  20. 用Css3实现旋转的立方体

热门文章

  1. 建议收藏,详细篇 PyCharm 完美教程
  2. ds哈希查找—二次探测再散列_大白话之哈希表和哈希算法
  3. mongodb java id 查询数据_java 用 _id 查找 MongoDB 下的数据
  4. java jbutton文字_java JButton 改变按钮文字
  5. mysql mycat 路由规则_Mycat分库路由规则
  6. 粉丝提问:求问大神您会查exif吗?
  7. 02365计算机软件基础,自考02365《计算机软件基础(二)》习题解答.pdf
  8. 参数详解 复制进程_如何优化PostgreSQL逻辑复制
  9. (网页)js每隔5分钟执行一次ajax请求的实现方法(转)
  10. 页面刷新 vuex 数据重新被初始化