我有一个VPS托pipe一个网站( http://www.tanguay.info/web ), 每天约有1800个独立访问者 。
该网站运行得很好,几个星期的响应时间为3秒 。
突然在星期五下午4点,该站点变得无法访问, 响应时间在30秒以上 ,并一直下降。 这是pingdom图:
替代文字http://tanguay.info/web/external/pingdomdown.png
即使重启了很多次,我也无法将响应时间缩短到30秒以下。 使用“top”命令,我看到有30多个Apache进程正在运行,这似乎占用了超过90%的内存。
什么可能导致这个? 为什么会有这么多的Apache进程打开,特别是因为现在基本上无法访问? 难道这些进程是不是以某种方式closures?
替代文字http://tanguay.info/web/external/tooManyApacheProcesses.png
您正在使用基于Virtuozzo / OpenVZ的虚拟机(基于您发布的top屏幕截图)。 还有一些东西可能是锤击你正在使用的机器,因为最高的输出并没有显示任何exception(对于Apache进程,17MB的RES是相当合理的)。 我会和你的托pipe服务提供商讨论一下,不要让他们的虚拟机服务器负担过重,或者找一个更好的虚拟机提供商。
静态内容不受影响,问题可能在数据库中。 检查MySQL缓慢的查询日志在/var/log/mysql/mysql-slow.log 。 Apache的mod_status也可能是有用的,它会显示这样的状态页面。
看到标有D的所有进程,我认为磁盘子系统可能已经过载了。