天天看点

如何查看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连接;

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

linux下查看apache连接数

        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

  netstat -n | awk '/^tcp/ {++s[$nf]} end {for(a in s) print a, s[a]}'

  返回结果示例:

  说明: