1. 程式人生 > >linux netstat 統計檢視外部連線數

linux netstat 統計檢視外部連線數

伺服器上的一些統計資料:

1)統計80埠連線數
netstat -nat|grep -i "80"|wc -l

2)統計httpd協議連線數
ps -ef|grep httpd|wc -l

3)、統計已連線上的,狀態為“established
netstat -na|grep ESTABLISHED|wc -l

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


---------------------------------------------------------------------------------------------

1、檢視apache當前併發訪問數:
netstat -an | grep ESTABLISHED | wc -l

對比httpd.conf中MaxClients的數字差距多少。

2、檢視有多少個程序數:
ps aux|grep httpd|wc -l

3、可以使用如下引數檢視資料
server-status?auto

#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連線狀態:
  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表示處理完畢,等待超時結束的請求數。

---------------------------------------------------------------------------------------------

檢視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表示處理完畢,等待超時結束的請求數。