在对WEB服务器做性能或压力测试时,有时需要查看 WEB服务器的连接数量,以确认其与测试设备或软件得到的统计信息的一致性。
在linux下,netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
与其它一些搜索或统计命令组会,可以很方便的统计linux服务器当前的链接数量,例如:
查看连接数量:netstat -ant | grep $ip:80 | wc -l
说明:
1、 netstat -ant //输出所有tcp连接信息
2、grep $ip:80 //利用grep进行搜索,这里的$ip表示一个变量(并不是指系统变量),匹配一个后面跟:80的字符串,并将字符串保存在变量$ip中,其实此处删去$ip,效果一样。
3、wc -l //对管道传来的信息进行统计,-l表示统计多少行
另一个更强大的命令组合:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
统计所有tcp连接的状态信息
返回结果示例:
LAST_ACK 5SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
其实这条命令主要是利用了awk强大的文本分析能力,具体分析,可以检索linux下awk的使用。
参考
http://blog.s135.com/post/269/