查看Web服务器的并发请求数及其TCP连接状态的命令
- netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
据说是从新浪互动社区事业部技术总监王老大那儿获得的,非常不错。
返回结果一般为
- LAST_ACK 247 (正在等待处理的请求数)
- SYN_RECV 66
- ESTABLISHED 1094 (正常数据传输状态)
- FIN_WAIT1 258
- FIN_WAIT2 629
- TIME_WAIT 4792 (处理完毕,等待超时结束的请求数)
其他参数说明:
本人shell中awk语法不是特别熟悉,老是关键时刻用到这个的时候,不会写。顺便用perl改写了下,哈哈
- #!/usr/bin/perl -w
- use strict;
- our %hash;
- open TCP,'netstat -n|' or die "$!\n";
- while ( <TCP> ) {
- chomp;
- next unless /^tcp/;
- if ( exists $hash{(split /\s+/)[5]} ) {
- $hash{(split /\s+/)[5]} ++;
- } else {
- $hash{(split /\s+/)[5]} = 1;
- }
- }
- close TCP;
- while ( my($key,$val) = each %hash ) {
- print "$key\t$val\n";
- }
一样的结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。