首页 > 系统相关 >nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)

nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)

时间:2023-08-03 18:38:57浏览次数:44  
标签:http log request nginx speed 请求


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


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; 
 
   
 ... 
 
   
}


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



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 <--- THE WINNER


从日志中,我们发现这边有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 # 按请求分组,推荐这个


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

标签:http,log,request,nginx,speed,请求
From: https://blog.51cto.com/u_6186189/6951692

相关文章

  • 猛戳进来!小白也会懂的HTTP代理授权方式大公开
    各位小伙伴们,大家有没有遇到过一种情况——你在网上冲浪时突然遭遇到一些恼人的限制?刚想看个爆笑视频,结果被告知“禁止访问”!今天我来给大家普及一下HTTP代理授权方式,帮助解决这个问题,让我们告别网络封禁!首先,我们先来了解一下什么是HTTP代理。简单来说,HTTP代理就像是你找了......
  • 中间人攻击 http与https的区别
    由一个视频引发的问题 https://v.douyin.com/iJJ9n2r7/ 中间人攻击  由于HTTP本身不具备加密的功能,所以也无法做到对通信整体(使用HTTP协议通信的请求和相应的内容)进行加密,即HTTP报文使用明文(未经过加密的报文)方式发送。(对应于信件使用的文字不加密)抓包:可以得到cookie......
  • 自建稳定高效的HTTP代理池技术分享
    如何自建稳定高效的HTTP代理池技术分享对于爬虫技术人员来说,自建HTTP代理池是提高爬虫效率和成功率的关键一环。本文将详细介绍如何构建稳定高效的自建HTTP代理池。通过本文,你将能够充分利用代理池的优势,顺利完成数据采集任务。一、选择合适的代理IP源首先,选择合适的代理IP源对于构......
  • Go 语言中 net/http 标准库的初步使用
    1.概述Go中的net/http库提供了HTTP客户端和服务端的实现。也就是说net/http可以分为客户端和服务器端两部分,库中的结构和函数有些只支持客户端和服务器这两者中的一个,而有些则同时支持客户端和服务器,如下图所示:2.对web服务器的理解的示意图2.1.http服务器(只讨论......
  • HTTP代理是什么?比较好的HTTP代理商有哪些?
    什么是HTTP代理?HTTP代理是一种网络代理技术,主要作用是接收用户发送的HTTP请求,并将这些请求转发到目标服务器,在用户和目标服务器之间充当中介。HTTP代理在各个领域都有广泛的应用。数据抓取:HTTP代理可用于大规模的数据采集任务,实现高并发请求,帮助用户高效获取不同区域、大量的数......
  • java报错:unable to find valid certification path to requested target
    问题发现unabletofindvalidcertificationpathtorequestedtarget当我使用java代码访问某个URL的时候,报了这个错误,经过查询发现需要安装证书到java环境,所以记录一下。下载证书我使用的是chrome浏览器,点击地址栏左边小锁,选择第一个选项。然后选择证书有效。在弹出的......
  • The Report Viewer Web Control HTTP Handler has not been registered in the applic
     system.webServer内加<handlers><addname="ReportViewerWebControlHandler"preCondition="integratedMode"verb="*"path="Reserved.ReportViewerWebControl.axd"type="Microsoft.Reporting.WebForms.Htt......
  • 《http篇》通过Asp.Net Core实现http服务(未采用)
    实现http服务参考链接:https://blog.csdn.net/icoolno1/article/details/754705/概述和.NetFramework时代不同,Core是可以自承载的,也就说开发好的Web项目,可以打包成exe直接运行的,而不必放到IIS这样的环境中。接下来,我们写点代码,体验一下Asp.NetCore自带的Http功能。新建Asp.Net......
  • 使用HTTP代理时的小技巧
     作为HTTP代理产品供应商,我们深知使用HTTP代理的重要性和优势。我们将为您详细介绍使用HTTP代理的小技巧,让您能够在实际应用中更加高效地利用HTTP代理,享受到更畅通的互联网体验。 一、选择稳定可靠的HTTP代理服务供应商 选择稳定可靠的HTTP代理服务供应商是使用HTTP代理的......
  • 盘点HTTP代理服务器能用于哪些网络工作
     亲爱的小伙伴们!今天我来和你分享的内容是,HTTP代理服务器能用于哪些网络工作? HTTP代理服务器作为一种功能强大的工具,可以应用于多种网络任务,让你事半功倍,发现更多有趣的用途。 1.网络舆情监控:在这个信息爆炸的时代,网络舆情监控变得越来越重要。通过使用HTTP代理服务器,你可......