要监控apache的性能,我们需要修改配置文件,允许查看apache运行状态的主机。
1)加载mod_status.so 对Apache的状态管理的模块是LoadModule status_module modules/mod_status.so ,所以需要...apache2\conf'\httpd.conf配置文件中修改。 [root@localhost /]# cd /usr/local/apache/conf [root@localhost /]# vi httpd.conf 找到LoadModule status_module modules/mod_status.so ,去掉其前面的# 号(默认是没有# 号的)
2)下面有修改配置文件有两种方式: 方式一: 在httpd.conf文件底部分添加以下内容: <location /c-server-status> SetHandler server-status Order Deny,Allow Deny from nothing Allow from all </location> ExtendedStatus On
方法二:在httpd.conf中找到以下内存 # Real-time info on requests and configuration #Include conf/extra/httpd-info.conf //去掉这一行前面的#号 打开...apache2\conf\extra\http-info.conf 配置文件进行修改。修改内容与方式一相同。 其实,两种无方法是相同的,只是第二种方法更为优雅一点。
修改信息解释: <location /c-server-status> : c-server-status 这个名字可以任意的取,但最好不要被别人猜到。
Deny from 表示禁止的访问地址;nothing 表示没有禁止访问的地址 。 ExtendedStatus On 表示的是待会访问的时候能看到详细的请求信息,另外该设置仅能用于全局设置,不能在特定的虚拟主机中打开或关闭。启用扩展状态信息将会导致服务器运行效率降低。
3)重启apache [root@localhost /]# cd /usr/local/apache/bin/ [root@localhost bin]# apachectl start 启动 [root@localhost bin]# apachectl stop 停止
4)访问 http://你的IP地址:端口/c-server-status http://你的IP地址:端口/c-server-status ?refresh=N N将表示访问状态页面可以每N秒自动刷新一次
linux下通过命令监控
除了上面的方式监控性能,我们也可以通过命令来查看进程数与当前连接数。
1、用 ps 来看 httpd 进程数 用这个命令统计当前的httpd进程数,当然这结果包含 grep httpd 的进程输出,一般来说实际进程数比输出结果少1。Apache启动的时候,默认就起来几个进程,如果连接数多了,它就会生出更多的进程来处理请求。
2、用 netstat 来看当前的连接数 连接数目并不等于httpd线程数目,当然连接数目越多,httpd进程数就有可能数会增多。上面的返回结果数目,有可能包括多种连接状态,比如 LISTEN、ESTABLISHED、TIME_WAIT等等,可以加入状态关键字进一步过滤,得到想要的结果。 (责任编辑:IT) |