如何查看Apache的连接数和当前连接数 Linux下查看apache连接数

查看Apache的连接数和当前的连接数以及IP访问次数,下面有个不错的示例,大家可以参考下,希望对大家解决问题有所帮助

查看了连接数和当前的连接数 

复制代码 代码如下:


netstat -ant | grep $ip:80 | wc -l 
netstat -ant | grep $ip:80 | grep EST | wc -l 


查看IP访问次数 

复制代码 代码如下:


netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n 


Linux命令: 

复制代码 代码如下:


netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
watch "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 表示处理完毕,等待超时结束的请求数; 
FIN_WAIT1 表示server端主动要求关闭tcp连接; 
FIN_WAIT2 表示客户端中断连接; 
LAST_ACK 关闭一个TCP连接需要从两个方向上分别进行关闭,双方都是通过发送FIN来表示单方向数据的关闭,当通信双方发送了最后一个FIN的时候,发送方此时处于LAST_ACK状态,当发送方收到对方的确认(Fin的Ack确认)后才真正关闭整个TCP连接;

==========================================================================================================================

        1、查看apache当前并发访问数:
  netstat -an | grep ESTABLISHED | wc -l
  对比httpd.conf中MaxClients的数字差距多少。
  2、查看有多少个进程数:
  ps aux|grep httpd|wc -l
  3、可以使用如下参数查看数据
  server-status?auto
  #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 - 可查看所有建立连接的详细记录
  查看Apache的并发请求数及其TCP连接状态:
  

Linux命令:

    

       1、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表示处理完毕,等待超时结束的请求数。
  ---------------------------------------------------------------------------------------------
  查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):
  Linux命令:
  ps -ef | grep httpd | wc -l
  查看Apache的并发请求数及其TCP连接状态:
  Linux命令:
  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表示处理完毕,等待超时结束的请求数。