Linux下查看apache鏈接數

一、查看apache當前併發訪問數:
  
  html

#對比httpd.conf中MaxClients的數字差距多少。
netstat -an | grep ESTABLISHED | wc -l


二、查看httpd進程數(即prefork模式下Apache可以處理的併發請求數):apache

ps aux|grep httpd|wc -l


三、可使用以下參數查看數據
  
  服務器

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
#可查看全部創建鏈接的詳細記錄

 

四、查看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表示處理完畢,等待超時結束的請求數。tcp

 

五、輸出每一個ip的鏈接數,以及總的各個狀態的鏈接數code

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 %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'

 

參考:htm

[1] http://www.hackbase.com/tech/2011-10-14/65364.htmlblog

[2] http://www.2cto.com/os/201201/117532.html進程

相關文章
相關標籤/搜索