Apache做分发+静态页面分发,weblogic做应用服务器,linux环境。 最近客户反映新增一批客户端后,经常不能打开应用 页面,通过Apache性能监控页面查看发现,当前的客户端连接数已达到Apache所允许的客户端连接数最大值,于是开始按照此方向解决问题。下面就介绍下如何调整Apache的并发连接数,以及如何配置Apache的性能监控页面,使我们平时能更方便的监控Apache的运行状态。 一、打开Apache的性能监控功能 可能大多数维护人员在维护管理Apache的时候,是使用ps aux|grep httpd|wc -l来查看当前Apache有多少个进程,但是这个命令无法告知我们这些进程是处于工作状态,还是等待状态,当前有多少连接,还剩余多少空闲连接资源等信息。 对Apache Server Status的启用
对Apache的状态管理的模块是LoadModule status_module modules/mod_status.so,所以这个需要有
Deny from表示禁止的访问地址; 调用接口 http:// your.server.name/server-status,将会生产详细的状态报表,可以在浏览器中直接浏览。 另外可以加下面两种参数: ?refresh=N:设置多久自动刷新一次 ?auto:生产机器可以读状态 server-status的输出中每个字段所代表的意义如下: 字段 说明 Server Version Apache服务器的版本。 Server Built Apache服务器编译安装的时间。 Current Time 目前的系统时间。 Restart Time Apache重新启动的时间。 Parent Server Generation Apache父程序(parent process)的世代编号,就是httpd接收到SIGHUP而重新启动的次数。 Server uptime Apache启动后到现在经过的时间。 Total accesses 到目前为此Apache接收的联机数量及传输的数据量。 CPU Usage 目前CPU的使用情形。 _SWSS.... 所有Apache process目前的状态。每一个字符表示一个程序,最多可以显示256个程序的状态。 Scoreboard Key 上述状态的说明。以下为每一个字符符号所表示的意义: * _:等待连结中。 * S:启动中。 * R:正在读取要求。 * W:正在送出回应。 * K:处于保持联机的状态。 * D:正在查找DNS。 * C:正在关闭连结。 * L:正在写入记录文件。 * G:进入正常结束程序中。 * I:处理闲置。 * .:尚无此程序。 Srv 本程序与其父程序的世代编号。 PID 本程序的process id。 Acc 分别表示本次联机、本程序所处理的存取次数。 M 该程序目前的状态。 CPU 该程序所耗用的CPU资源。 SS 距离上次处理要求的时间。 Req 最后一次处理要求所耗费的时间,以千分之一秒为单位。 Conn 本次联机所传送的数据量。 Child 由该子程序所传送的数据量。 Slot 由该Slot所传送的数据量。 Client 客户端的地址。 VHost 属于哪一个虚拟主机或本主机的IP。 Request 联机所提出的要求信息。
在Cacti中进行监控 下载模板和脚本 http://forums.cacti.net/about25227.html&highlight=apachestats 在上面的地址下载一个叫ApacheStats08.zip的,中间有二个文件,一个处理脚本php的,另一个是xml的文件. 1.其中的ss_apache_stats.php是脚本文件,它是一个php的文件,放到你的cacti/scripts/下面. 2.接下来在cacti界面导入cacti_host_template_webserver_-_apache.xml这个文件 3.你就可以在cacti中加入这些设置.就不细写了,如下 被监测的apache服务器需要向上面一样,打开mod_status功能,记的设置好权限访问,不然任何人都可以见到可不好哦3、访问http://IP:port/server-status监控页面 好了,你应该会看到这样的一大段信息:
K_KWKK_K__KKKCKK___KK____KK_KKKK_KKKK__KK_KKK_KKK__K_K_KKKKKKKC_
"_" Waiting for Connection, "S" Starting up, "R" Reading Request, “K”表示已连接的并且正在“忙碌”的进程,“.”表示空闲的连接点,如果你打开后发现全是K,那么恭喜你,你需要调整下Apache的并发连接数了,下面的内容将对你很有帮助。 二、调整Apache的并发连接数 1、进入到$ApacheHome/conf/extra,打开httpd-mpm.conf文件
找到<IfModule mpm_prefork_module>配置 2、进入到$ApacheHome/conf,打开httpd.conf文件 去掉Include conf/extra/httpd-mpm.conf前的注释符 保存后退出。然后重启Apache,再打开之前的监控页面,是不是发现多了很多的“.....”?好吧,这就说明你的系统还有很多空闲的连接资源可以用。 |