诡异的守护程序

644views

昨天晚上发现这个网站很慢,觉得很奇怪,然后再刷新了一次,就出现了那个著名的“500 internal server error …”的错误,然后折腾到近半夜一点多,也没办法,SSH上到Dreamhost,看了一下CPU,貌似也没啥问题,自己的PHP5.cgi的process也不是很多,最后困的受不了了,就提交了一个support case然后呼呼去了,早上起来依然如旧,上午抽时间仔细研究了一下,综合各个方面的意见,觉得还是Dreamhost的问题,就连续的发了几个support cases,不过支持人员给出的答案貌似都是似是而非,我一看到晚上还没搞定,很愤怒,就强烈要求他们重启,是否重启不知道,但等了一会,那个该死错误终于没了。

总结了一下Dreamhost支持人员的意思,就是有个搜索引擎突然看上偶这个site了,然后放出了N个bot大规模的抓偶的blog上的文章,导致系统中偶的这个site的apache和php CGI线程过度的使用了CPU和内存,这时候为资源均衡设计的资源守护程序就开始屠杀这些线程,父线程被屠杀之后,按理来说子线程应该自动被回收的,但因为PHP的一个bug,导致子线程大量堆积,然后资源耗尽,所以出现这个错误,听上去蛮合理的,但实际上,偶上去杀了无数次的我自己用户线程,而问题并没有改善,我相信屠杀父线程之后肯定对apache或者PHP在子线程之外造成了一定的问题,而这个问题是错误的根本,这个问题的恢复最简单的就是重启Apache。。

主要是我们这些共享服务器的用户没有权限控制Apache,而资源守护程序需要改善来避免这种错误,我不清楚DH的支持人员是否意识到这个问题,因为我发现跟我出现同样的问题的人很多,而一直都没有什么特别清晰的解决方法或者FAQ,WIKI之类的解释文档。现在我没法控制什么bot来大规模的抓偶的文章,因为即使robots.txt也不是什么保险的方式,如果是什么DDNS就更是基本上没任何办法了,只能祈祷不会有这么无聊的人来搞事吧。

晚上打羽毛球,人又少了,偶在上面顶着打单打,半个小时之后搞的手上都没有任何力气,然后后面又来了非常激烈的三场双打之后人彻底的软了,之后一看这情况就赶紧撤了,这俩月还总是觉得没场地,现在终于发现更痛苦的是有场地没体力,呵呵。。不过这次遇到一些高手,打的真不错,看来提高之路还是非常漫长啊。

相关的文章

  • 2009年09月8号