ss与netstat效率对比。ss更快些,且netstat在并发高于2万情况下会有严重的卡顿现象
[root@zabbix zabbix]#time ss state all|awk '{++S[$1]} END {for (a in S) {printf "%11-s %s\n",a,S[a]}}' #不是LL,是2个1
ESTAB 1
State 1
TIME-WAIT 5
LISTEN 13
real0m0.005s
user0m0.002s
sys0m0.002s
[root@zabbix ~]# netstat -ant |awk 'NR>2{print $6}'|sort|uniq -c|sort -rn
14 LISTEN
7 TIME_WAIT
2 SYN_SENT
2 ESTABLISHED
[root@zabbix ~]# netstat -an|awk '/^tcp/ {++S[$NF]} END {for ( a in S )print a,S[a]}'
TIME_WAIT 6
ESTABLISHED 2
LISTEN 14
[root@zabbix zabbix]# time netstat -an|awk '/^tcp/ {++S[$NF]} END {for(a in S) {printf "%11-s %s\n",a,S[a]}}' #不是LL,是2个1
TIME_WAIT 9
ESTABLISHED 1
LISTEN 13
real0m0.008s
user0m0.002s
sys0m0.004s
监控tcp连接状态可查看/proc/net/tcp文件
[root@zabbix zabbix]# tail -3 /proc/net/tcp #第4列绿色为tcp的各种状态
5: 00000000:CE74 00000000:0000 0A 00000000:00000000 00:00000000 00000000 29 0 10581 1 ffff880036b42040 99 0 0 10 -1
6: 5100000A:8F4C 07AC2A79:0050 06 00000000:00000000 03:00000FA1 00000000 0 0 0 3 ffff88001de8aec0
7: 5100000A:0016 0100000A:D7D0 01 00000040:00000000 01:00000018 00000000 0 0 185660 4 ffff8800185bf180 24 3 21 6 4
CLOSED:无连接是活动的或正在进行中的。
LISTEN:服务器在等待进入呼叫。
SYN_RECV:一个连接请求已经到达,等待确认。
SYN_SENT:应用已经开始,打开一个连接。
ESTABLISHED:正常数据传输状态。
FIN_WAIT1:应用说它已经完成。
FIN_WAIT2:另一边已同意释放。
CLOSING:两边同时尝试关闭。
TIME_WAIT:另一边已初始化一个释放。
LAST_ACK:等待所有分组死掉。
参考博文:http://blog.csdn.net/future_ins/article/details/57412787
http://blog.csdn.net/future_ins/article/details/57412787