数据中心所在服务器同时服务了几十个网站,近日突然发现cpu负载居高不下,导致数据中心网站访问速度超慢,甚至不能访问。
首先检查其中几个可疑的高负载网站,包括2个phpbb论坛,转移到另外一台服务器上,发现问题仍然存在。
通过htop检查,发现问题和mysql直接相关,apache高负载时mysql也同时高负载,尝试将mysq关闭,则问题解决,因此问题肯定在于使用mysql的网站,但使用mysql的网站仍然有很多,需要进一步排除。
在网上搜索发现serverfault上有一个相关性很高的帖子:
Tracking Apache by VirtualHost
其中,提到了一个方法找出高负载时访问最多的网站:
for pid in `pgrep -u www-data`; do find /proc/${pid}/cwd -printf "%l\n" ; done
使用sudo su后运行此命令,发现是有一个网站使用了mediawiki,导致大量攻击,引起了此问题,解决办法很粗暴,将此网站stop即可。
发表回复