2019-05-15 [转] 查看apache连接数

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 (ainS) print a, S[a]}'

(这条语句是从 新浪互动社区事业部 新浪互动社区事业部技术总监王老大那儿获得的,非常不错)返回结果示例:

LAST_ACK 5SYN_RECV 30ESTABLISHED 1597FIN_WAIT1 51FIN_WAIT2 504TIME_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(ainS){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(ains) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'

参考:

[1] http://www.hackbase.com/tech/2011-10-14/65364.html

[2] http://www.2cto.com/os/201201/117532.html

本作品由Tim Zhang创作,采用知识共享署名 3.0 中国大陆许可协议进行许可。 。

你可能感兴趣的:(2019-05-15 [转] 查看apache连接数)