apache 的mod-status

    最近发现在apache的监控方面,apache 2开始自带的apache mod-status其实是个不错的工具,下面摘录并笔记之:

如果是linux的话,可以这样设置:

  在httpd.conf中,这样

#include conf/extra/httpd-info.conf

把注释#去掉,

然后修改httpd-info.conf中

<location /server-status>
    SetHandler server-status
    Order Deny,Allow
          Deny from alls
          Allow from all

</location>

 其中<location /server-status>这里可以修改为你喜欢的名字

于是就可以用http://localhost/server-status看到了

如果是WINDOWS系统的话,可以直接在

httpd.conf中,加载模块:

取消注释LoadModule status_module modules/mod_status.so,重启APACHE即可。

  用http://localhost/server-status??refresh=N即可实现每N秒刷新一次。

找了下,网上有个PHP程序,可以图形化地看到APACHE STATUS的图形状态,叫visual apache status,

有兴趣的可以下载来看看

 

再转一些相关技巧:

 

在Linux下查看Apache的负载情况,以前也说过,最简单有有效的方式就是查看Apache Server Status(如何开启Apache Server Status点这里),在没有开启Apache Server Status的情况下,或安装的是其他的Web Server,比如Nginx的时候,下面的命令就体现出作用了。

ps -ef|grep httpd|wc -l命令
#ps -ef|grep httpd|wc -l
1388
统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整,我这组服务器中每台的峰值曾达到过2002。

netstat -nat|grep -i “80″|wc -l命令
#netstat -nat|grep -i “80″|wc -l
4341
netstat -an会打印系统当前网络链接状态,而grep -i “80″是用来提取与80端口有关的连接的, wc -l进行连接数统计。
最终返回的数字就是当前所有80端口的请求总数。

 

netstat -na|grep ESTABLISHED|wc -l命令
#netstat -na|grep ESTABLISHED|wc -l         ---------个人测试此命令比较准确
376
netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。
最终返回的数字就是当前所有80端口的已建立连接的总数。

netstat -nat||grep ESTABLISHED|wc -   可查看所有建立连接的详细记录

 

 

 

 

查看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表示处理
完毕,等待超时结束的请求数。

 

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭