您的位置:首页 > 运维架构 > Apache

Apache服务器CPU利用率、Load值及Running值高导致WEB无法访问

2015-08-18 21:55 537 查看
最近公司服务器经常出现网站及系统无法访问的情况,服务器环境为Apache+PHP+Mysql,版本都比较老。服务器是云主机,在云主机的管理界面看到出现问题的这段时间,每天CPU利用率到了50%以上,之前平均为10%左右。因此认为,问题是CPU占用率过高的原因,然后就一直在排查Apache的配置,Mysql的配置,但都没有发现大的问题,修改Apache的prefork值(/www/wdlinux/apache/conf/extra/httpd-mpm.conf)也无果。

同时发现每当出现问题时,TOP命令显示出现了很多标识为R的httpd进程,running进程有时能达到300多个,load值也能彪到很高。

通过ps -aux | grep httpd命令查询到有很多的httpd进程,服务器又轻微的卡顿。

然后由于启用了apache的全部访问日志,在出现问题的时间段内分析访问日志,发现了端倪:

出故障的时间段,出现了很多:

218.94.52.131 - 我的域名 - [18/Aug/2015:08:54:25 +0800] "GET /search.php?chid=4&ccid17=167&ccid12=3&zxcd=3&hxs=3&ccid18=195&letter=W&caid=2&ccid1=219 HTTP/1.1" 200 328 "-"

这样的记录,通过查询前一天的访问记录,发现该IP地址,一天之内有12000多条访问记录,而且访问的都是search.php这个文件。

搜索了下IP地址,江苏南京的,果断把这个地址加到防火墙上   (/etc/sysconfig/iptables)

-I INPUT -s 218.94.52.131 -j DROP

测试了一上午,CPU利用率恢复到10%左右,初步认为,问题基本解决

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache无法访问