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