Linux 下检视 apache 连线数
1 、检视 apache 当前并发访问数:
#对比 httpd.conf 中 MaxClients 的数字差距多少。 netstat -an | grep ESTABLISHED | wc -l
2 、检视 httpd 程序数(即 prefork 模式下 Apache 能够处理的并发请求数):
ps aux|grep httpd|wc -l
3 、可以使用如下引数检视资料
ps -ef|grep httpd|wc -l
#1388
#统计 httpd 程序数,连个请求会启动一个程序,使用于 Apache 站群服务器。
#表示 Apache 能够处理 1388 个并发请求,这个值 Apache 可根据负载情况自动调整。
netstat -nat|grep -i “80”|wc -l
#4341
#netstat -an 会列印系统当前互联网连结状态,而 grep -i “80” 是用来提取与 80 埠有关的连线的,wc -l 进行连线数统计。
#最终返回的数字就是当前所有 80 埠的请求总数。
netstat -na|grep ESTABLISHED|wc -l
#376
#netstat -an 会列印系统当前互联网连结状态,而 grep ESTABLISHED 提取出已建立连线的资讯。 然后 wc -l 统计。
#最终返回的数字就是当前所有 80 埠的已建立连线的总数。
netstat -nat||grep ESTABLISHED|wc
#可检视所有建立连线的详细记录
4 、检视 Apache 的并发请求数及其 TCP 连线状态:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}’
(这条语句是从 新浪互动社群事业部 新浪互动社群事业部技术总监王老大那儿获得的,非常不错)返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中:
SYN_RECV 表示正在等待处理的请求数;
ESTABLISHED 表示正常资料传输状态;
TIME_WAIT 表示处理完毕,等待超时结束的请求数。
5 、输出每个 ip 的连线数,以及总的各个状态的连线数
netstat -n | awk ‘/^tcp/ {n=split($(NF-1),array,”:”);if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %sn", a, S[a]);++I}printf("%-20s %sn","TOTAL_IP",I);for(a in s) printf("%-20s %sn",a, s[a]);printf("%-20s %sn","TOTAL_LINK",N);}'