在对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 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。

其实这条命令主要是利用了awk强大的文本分析能力,具体分析,可以检索linux下awk的使用。