因每個訪問者都會在服務器上打開一個進程作提供服務
查看進程數量,判斷連接人數
ps -ef|grep httpd|wc -l
pstree |grep httpd
查看httpd進程數(即prefork模式下Apache能夠處理的並發請求數):
Linux 命令:
ps -ef | grep httpd | wc -l
查看Apache的並發請求數及其TCP連接狀態:
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
說明:
SYN_RECV表示正在等待處理的請求數;
ESTABLISHED表示正常數據傳輸狀態;
TIME_WAIT表示處理完畢,等待超時結束的請求數。
服務器上的一些統計數據:
1)統計80端口連接數
netstat -nat|grep -i "80"|wc -l
1
2)統計httpd協議連接數
ps -ef|grep httpd|wc -l
1
3)、統計已連接上的,狀態為「established'
netstat -na|grep ESTABLISHED|wc -l
2
4)、查出哪個IP地址連接最多,將其封了:
複製內容到剪貼板
代碼:
netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r +0n
netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r +0n
linux做nat 服務器,我想查看穿過服務器的當前連接數
是用 more /proc/net/ip_conntrack |wc -l 統計行數 ???
還是用 more /proc/net/ip_conntrack |grep ESTABLISHED|wc -l ??
用哪一個命令更準確一些??
cat /proc/slabinfo | grep ip_conn | grep -v ip_conntrack_expect | awk '{print $2}'