Linux 下檢視 apache 連線數
1 、檢視 apache 當前併發訪問數:
#對比 httpd.conf 中 MaxClients 的數字差距多少。 netstat -an | grep ESTABLISHED | wc -l
2 、檢視 httpd 程式數(即 prefork 模式下 Apache 能夠處理的併發請求數):
ps aux|grep httpd|wc -l
3 、可以使用如下引數檢視資料
ps -ef|grep httpd|wc -l
#1388
#統計 httpd 程式數,連個請求會啟動一個程式,使用於 Apache 站群伺服器。
#表示 Apache 能夠處理 1388 個併發請求,這個值 Apache 可根據負載情況自動調整。
netstat -nat|grep -i “80”|wc -l
#4341
#netstat -an 會列印系統當前網際網路連結狀態,而 grep -i “80” 是用來提取與 80 埠有關的連線的,wc -l 進行連線數統計。
#最終返回的數字就是當前所有 80 埠的請求總數。
netstat -na|grep ESTABLISHED|wc -l
#376
#netstat -an 會列印系統當前網際網路連結狀態,而 grep ESTABLISHED 提取出已建立連線的資訊。 然後 wc -l 統計。
#最終返回的數字就是當前所有 80 埠的已建立連線的總數。
netstat -nat||grep ESTABLISHED|wc
#可檢視所有建立連線的詳細記錄
4 、檢視 Apache 的併發請求數及其 TCP 連線狀態:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}’
(這條語句是從 新浪互動社群事業部 新浪互動社群事業部技術總監王老大那兒獲得的,非常不錯)返回結果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中:
SYN_RECV 表示正在等待處理的請求數;
ESTABLISHED 表示正常資料傳輸狀態;
TIME_WAIT 表示處理完畢,等待超時結束的請求數。
5 、輸出每個 ip 的連線數,以及總的各個狀態的連線數
netstat -n | awk ‘/^tcp/ {n=split($(NF-1),array,”:”);if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %sn", a, S[a]);++I}printf("%-20s %sn","TOTAL_IP",I);for(a in s) printf("%-20s %sn",a, s[a]);printf("%-20s %sn","TOTAL_LINK",N);}'