使用 shell命令查看 并发数

今天把公司的网站更新了一个版本。由于只开放了80端口,没有做cacti的监控,查看nginx_logs的时候,发现有特别同一个IP的记录。感觉有点怪。

找到一条命令查以查看一网络连接状态,并且汇总。记录下来。

netstat -an | awk '/^tcp/ { ++S[$NF] } END {for(a in S) print a,S[a]}'

结果如下:

TIME_WAIT 29

CLOSE_WAIT 2
FIN_WAIT1 1
FIN_WAIT2 4
ESTABLISHED 50
LAST_ACK 1
LISTEN 9

 

命令行注释:

S[]数组

$NF 为awk的行数

^tcp 开头为tcp的行

参数说明:

CLOSED:没有连接是活动的或正在进行的。

LISTEN:服务器在等待进入呼叫。

SYN_RECV:一个连接请求已经到达,等待确认。

SYN_SENT:应用已经开始,打开一个连接。

ESTABLISHED:正常数据传输状态。它的值也可以近似理解为当前服务器的并发数。

FIN_WAIT1:应用说它已经完成。

FIN_WAIT2:另一边已同意释放。

ITMED_WAIT:等待所有分组死掉。

CLOSING:两边同时尝试关闭。

TIME_WAIT:另一边已初始化一个释放。

LAST_ACK:等待所有分组死掉。

 

你可能感兴趣的:(shell命令)