nginx post請求超時_nginx記錄分析網站響應慢的請求(ngx_http_log_request_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

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373756.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373756.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373756.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何用angularjs制作一個完整的表格之一__創建簡單表格

初步接手人生的第一個項目,需要用angularjs制作表格和實現各種功能,因此遇到了各種問題和以前不熟悉的知識點,在此記錄下來,以供大家學習交流,解決方式可能并不完善或符合規范,如果大家有更好的方式歡迎指出…

Java的String類是上帝的對象嗎?

10月,我寫了一個博客,題為“上帝對象中的頂級特朗普”,其中談到了用167種不同的方法發現的對象的發現,這些方法將該對象與應用程序的所有其他部分鏈接在一起,并且正如您所期望的那樣,上帝或怪物物的一般標準…

十步完全理解SQL

很多程序員視 SQL 為洪水猛獸。SQL 是一種為數不多的聲明性語言,它的運行方式完全不同于我們所熟知的命令行語言、面向對象的程序語言、甚至是函數語言(盡管有些人認為 SQL 語言也是一種函數式語言)。 我們每天都在寫 SQL 并且應用在開源軟件…

curl命令java_上curl java 模擬http請求

最近,我的項目要求java模擬http請求,獲得dns解決 tcp處理過的信息特定的連接。java api提供urlConnection apache提供的httpClient都不能勝任該需求,二次開發太費時間。于是google之。最后 得出兩種解決的方法:一是使用HTTP4J。該…

androidstudio 優化gradle編譯效率

androidstuido 使用gradle自己主動構建和編譯。有時做少量改動編譯須要等待時間過長,近期Erik Hellman編寫的Boosting the performance for Gradle in your Android projects( 譯文 參考1)提到了此問題的優化方法。1.gradle的升級到2.4 。 2.…

Common Knowledge_快速冪

問題 I: Common Knowledge 時間限制: 1 Sec 內存限制: 64 MB提交: 9 解決: 8[提交][狀態][討論版]題目描述 Alice and Bob play some game in which they score points. Each of the two has an n-digit scoreboard which depicts numbers in base 10 (with leading zeroes).…

播放2.0:Akka,Rest,Json和依賴項

在過去的幾個月中,我越來越多地涉足scala。 Scala與“ Play框架”一起為您提供了一個非常有效且快速的開發環境(即,您掌握了Scala語言的特質之后)。 Play框架背后的家伙一直在努力開發新版本的Play 2.0。 在Play 2.0中&#xff0c…

python使用多線程寫生成器_Python學習——多線程,異步IO,生成器,協程

Python的語法是簡潔的,也是難理解的。比如yield關鍵字:def fun():for i in range(5):print(test)x yield iprint(good, x)if __name__ __main__:a fun()# print(a.__next__())# print(a.__next__())# print(a.__next__())y a.send(None)y a.send(-1…

Python與C++結構體交互

需求:根據接口規范,實現與服務端的數據交互 服務端結構體分包頭、包體、包尾 包頭C結構體示例如下 1 typedef struct head2 {3 BYTE string1;4 BYTE string2; //包類型5 BYTE string3; //版本號,目前為06 char s…

Ubuntu下安裝OpenSSH Server并在客戶端遠程連接Ubuntu

本文主要是向讀者介紹了如何在Ubuntu系統下安裝OpenSSH Server并在客戶端遠程連接Ubuntu,共有兩種方法,一種是命令行安裝;另一種是通過Ubuntu Software Center安裝,希望對大家能有幫助! 方法一(推薦&#…

算法:老鼠走迷宮問題

算法:老鼠走迷宮問題(初) 【寫在前面】 老鼠走迷宮問題的遞歸實現,是對遞歸思想的一種應用。 【問題描述】 給定一個二維數組,數組中2表示墻壁,0表示通路,由此數組可展示為一個迷宮圖。給定入口位置和出口位置&#xf…

rust python對比_Python Rust 迭代器對比

迭代是數據處理的基石,而 Python 中所有集合都可以迭代,這是 Python 讓使用者感到非常方便的特征之一。下面是一些在 Python 中經常使用的迭代模式# 列表for i in [1, 2, 3, 4]:print(i)# 字典di {a: 1, b: 2, c: 3}# 迭代鍵for k in di.keys():print(k…

WebSphere Application Server性能調整工具包

IBM已發布了WebSphere Application Server性能調整工具包 ,該工具包具有從Eclipse工作區*監視多個 WebSphere Application Server的功能。 該工具使用WAS Performance Monitoring統計信息來獲取并繪制圖表,以指示服務器的運行狀況。 *請注意,…

CentOS 配置防火墻操作實例(啟、停、開、閉端口)

CentOS 配置防火墻操作實例&#xff08;啟、停、開、閉端口&#xff09;&#xff1a; 注&#xff1a;防火墻的基本操作命令&#xff1a; 查詢防火墻狀態: [rootlocalhost ~]# service iptables status<回車> 停止防火墻: [rootlocalhost ~]# service iptables stop &…

linux常用命令-壓縮解壓命令

壓縮解壓命令 目錄 1. 壓縮解壓命令&#xff1a;gzip 2. 壓縮解壓命令&#xff1a;gunzip 3. 壓縮解壓命令&#xff1a;tar 4. 壓縮解壓命令&#xff1a;zip 5. 壓縮解壓命令&#xff1a;unzip 6. 壓縮解壓命令&#xff1a;bzip2 7. 壓縮解壓命令&#xff1a;bunzip2 1. 壓縮解…

達夢數據庫查詢數據庫所有表名_達夢數據庫的一些實用小SQL

1)當前數據庫中的模式名&#xff1a;select distinct object_name TABLE_SCHEMA from all_objects where object_type SCH;2)查出各模式對應的用戶&#xff1a;selectSCH_OBJ.NAME ,SCH_OBJ.ID ,SCH_OBJ.CRTDATE,USER_OBJ.NAMEfrom(select NAME, ID, PID, CRTDATE from …

設置Java EE 6開發環境

本教程簡要說明了如何設置典型的環境來開發基于Java EE 6的應用程序。 除了可以正常工作的Windows XP客戶端具有足夠的CPU能力和內存外&#xff0c;本教程沒有其他先決條件。 在教程中&#xff0c;我們將需要安裝以下組件&#xff1a; Java 6 JDK更新26 用于Java EE開發人員的…

css cursor url用法格式詳解

css cursor url用法格式&#xff1a;css:{cursor:url(圖標路徑),auto;} //IE,FF,chrome瀏覽器都可以 實例代碼&#xff1a;html{cursor: url("http://ued.taobao.com/blog/wp-content/themes/taobaoued/images/cursor.ico"),auto;} 解析&#xff1a;前面的url是自定義…

iostext添加點擊事件_iOS開發小技巧 - label中的文字添加點擊事件

Label中的文字添加點擊事件以前老師講過類似的功能,自己懶得回頭看了,找了很多第三方的,感覺這個小巧便利,作者只是擴展了分類,實現起來代碼也少.先來個效果圖自己的項目,直接上代碼- (void)setTopicModel:(CYQTopicModel *)topicModel{_topicModel topicModel;NSArray *likeA…

ubantu下安裝Nginx

Nginx 概述 Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器&#xff0c;也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的&#xff0c;第一個公開版本0.1.0發布于2004年10月4日。其將源代碼…