我們的網站部署在linux的服務器上,特別是web服務器,我們可能有時候做為運維人員,肯定是要查看網站的並發連接數是不是達到瓶頸等,所以在linux下,我們如何查看服務器的並發連接數呢?使用以下命令即可分組查看各種連接狀態哦:
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 就是並發連接狀態的顯示數的了。如果你不想查看到這麼多連接狀態,而僅僅只是想查看並發連接數,可以簡化一下命令,即:
netstat -nat|grep ESTABLISHED|wc -l
1164
這個返回的數字就是當前並發的連接數的了。