1. 程式人生 > >Linux如何檢視伺服器的併發數? 使用netstat命令檢視併發連線數

Linux如何檢視伺服器的併發數? 使用netstat命令檢視併發連線數

我們的網站部署在linux的伺服器上,特別是web伺服器,我們可能有時候做為運維人員,肯定是要檢視網站的併發連線數是不是達到瓶頸等,所以在linux下,我們如何檢視伺服器的併發連線數呢?使用以下命令即可分組檢視各種連線狀態哦:
 

C/C++ Code複製內容到剪貼簿
  1. 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 (處理完畢,等待超時結束的請求數) 
 
狀態:描述 
CLOSED:無連線是活動的或正在進行 
LISTEN:伺服器在等待進入呼叫 
SYN_RECV:一個連線請求已經到達,等待確認 
SYN_SENT:應用已經開始,開啟一個連線 
ESTABLISHED:正常資料傳輸狀態 
FIN_WAIT1:應用說它已經完成 
FIN_WAIT2:另一邊已同意釋放 
ITMED_WAIT:等待所有分組死掉 
CLOSING:兩邊同時嘗試關閉 
TIME_WAIT:另一邊已初始化一個釋放 
LAST_ACK:等待所有分組死掉

使用這上面的命令是可以檢視伺服器的種連線狀態,其中ESTABLISHED 就是併發連線狀態的顯示數的了。如果你不想檢視到這麼多連線狀態,而僅僅只是想檢視併發連線數,可以簡化一下命令,即:
C/C++ Code複製內容到剪貼簿
  1. netstat -nat|grep ESTABLISHED|wc -l  

返回:712


這個返回的數字就是當前併發的連線數的了。
是不是很簡單呢?