当前位置: > Linux服务器 > 性能测试 >

linux下通过server-status监控性能

时间:2014-10-31 18:54来源:linux.it.net.cn 作者:it

要监控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 表示没有禁止访问的地址 。
Allow from   表示允许的地址访问;all 表示所有的地址都可以访问。

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 进程数
# ps -ef | grep httpd | wc -l

  用这个命令统计当前的httpd进程数,当然这结果包含 grep httpd 的进程输出,一般来说实际进程数比输出结果少1。Apache启动的时候,默认就起来几个进程,如果连接数多了,它就会生出更多的进程来处理请求。

 

2、用 netstat 来看当前的连接数
# netstat -ant | grep ":80 " | wc -l

   连接数目并不等于httpd线程数目,当然连接数目越多,httpd进程数就有可能数会增多。上面的返回结果数目,有可能包括多种连接状态,比如 LISTEN、ESTABLISHED、TIME_WAIT等等,可以加入状态关键字进一步过滤,得到想要的结果。

(责任编辑:IT)
------分隔线----------------------------