通過查看nginx的并發連接,我們可以更清除的知道網站的負載情況。Nginx并發查看有兩種方法(之所以這么說,是因為筆者只知道兩種),一種是通過web界面,一種是通過命令,web查看要比命令查看顯示的結果精確一些。
下面介紹這兩種查看方法
No1、通過瀏覽器查看
通過web界面查看時Nginx需要開啟status模塊,也就是安裝Nginx時加上? ? ? ? –with-http_stub_status_module? ?然后配置Nginx.conf,在server點里面加入如下內容
location?/status?{ stub_status?on; access_log?/usr/local/nginx/logs/status.log; auth_basic?"NginxStatus";?}
解析:
Active?connections????//當前?Nginx?正處理的活動連接數。 server?accepts?handledrequests?//總共處理了8?個連接?,?成功創建?8?次握手,總共處理了500個請求。 Reading?//nginx?讀取到客戶端的?Header?信息數。 Writing?//nginx?返回給客戶端的?Header?信息數。 Waiting?//開啟?keep-alive?的情況下,這個值等于?active?-?(reading?+?writing),意思就是?Nginx?已經處理完正在等候下一次請求指令的駐留連接
No2、通過命令查看
#netstat?-n?|?awk?'/^tcp/?{++S[$NF]}?END?{for(a?in?S)?print?a,?S[a]}'
解析:
CLOSED??//無連接是活動的或正在進行 LISTEN??//服務器在等待進入呼叫 SYN_RECV??//一個連接請求已經到達,等待確認 SYN_SENT??//應用已經開始,打開一個連接 ESTABLISHED??//正常數據傳輸狀態/當前并發連接數 FIN_WAIT1??//應用說它已經完成 FIN_WAIT2??//另一邊已同意釋放 ITMED_WAIT??//等待所有分組死掉 CLOSING??//兩邊同時嘗試關閉 TIME_WAIT??//另一邊已初始化一個釋放 LAST_ACK??//等待所有分組死掉
相關文章推薦: ? ? ? ?? 1.php中常見的Nginx日志以及配置的方法 2.怎么分析nginx的錯誤日志相關視頻推薦: ? ? ? ? ?? 1.燕十八nginx精品視頻教程
nginx訪問量統計
1.根據訪問IP統計UV
awk?'{print?$1}'??access.log|sort?|?uniq?-c?|wc?-l
2.統計訪問URL統計PV
awk?'{print?$7}'?access.log|wc?-l
3.查詢訪問最頻繁的URL
awk?'{print?$7}'?access.log|sort?|?uniq?-c?|sort?-n?-k?1?-r|more
4.查詢訪問最頻繁的IP
awk?'{print?$1}'?access.log|sort?|?uniq?-c?|sort?-n?-k?1?-r|more
5.根據時間段統計查看日志
cat??access.log|?sed?-n?'/14/Mar/2015:21/,/14/Mar/2015:22/p'|more
查找訪問頻率最高的 URL 和次數:
cat?access.log?|?awk?-F?‘^A’?‘{print?$10}’?|?sort?|?uniq?-c
查找當前日志文件 500 錯誤的訪問:
cat?access.log?|?awk?-F?‘^A’?‘{if($5?==?500)?print?$0}’
查找當前日志文件 500 錯誤的數量:
cat?access.log?|?awk?-F?‘^A’?‘{if($5?==?500)?print?$0}’?|?wc?-l
查找某一分鐘內 500 錯誤訪問的數量:
cat?access.log?|?awk?-F?‘^A’?‘{if($5?==?500)?print?$0}’?|?grep?’09:00’?|?wc-l
查找耗時超過 1s 的慢請求:
tail?-f?access.log?|?awk?-F?‘^A’?‘{if($6》1)?print?$0}’
假如只想查看某些位:
tail?-f?access.log?|?awk?-F?‘^A’?‘{if($6》1)?print?$3″|”$4}’
查找 502 錯誤最多的 URL:
cat?access.log?|?awk?-F?‘^A’?‘{if($5==502)?print?$11}’?|?sort?|?uniq?-c
查找 200 空白頁
cat?access.log?|?awk?-F?‘^A’?‘{if($5==200?&&?$8?《?100)?print?$3″|”$4″|”$11″|”$6}’
查看實時日志數據流
tail?-f?access.log?|?cat?-e
或者
tail?-f?access.log?|?tr?‘^A’?‘|’
sed?-n?'/04/Dec/2015:07:30:53/,/04/Dec/2015:08:30:55/'p?access.log?|?more??查看一段時間的日志
sed?-n?'/08/Dec/2015:15:48:01/,/08/Dec/2015:15:55:59/p'?access.log?>?new.log
更多Nginx相關技術文章,請訪問Nginx教程欄目進行學習!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END