大约20分钟后,似乎我的Apache服务器变得不可连接。 通过不可连接,我的意思是如果我curl
任何页面,它只会导致2-3分钟没有什么,然后什么也没有显示出来。 我被迫重新启动Apache以使其可用。 实际的盒子本身看起来很好,因为我总是SSH'd在…所以我认为这只是一个Apache的东西。
停止/启动apache服务器3-5分钟后,内存使用情况如下:
一秒就是:
CPU MEM 21997 root 20 0 459m 208m 8504 R 45.8 20.8 10:14.56 apache2
下一个:
21997 root 20 0 459m 208m 8504 S 8.8 20.8 10:37.37 apache2
所以有一秒钟是40%的CPU,20%的内存
只有2-3个使用PHP的小型网站,所以他们不可能消耗这么多的内存。 我想知道为什么会发生这种情况?!
我的Apache(prefork)的configuration是:
<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule>
服务器版本:Apache / 2.2.22(Debian)
在Debian Wheezy上使用libapache2-mod-php5
我知道mod_php
可能不是最有效的,可能有更好的select,如php-fpm
和/或使用nginx
但我想实际上得到的问题的根源,而不是避免它。
将不胜感激任何提示。
我相信apache2的configuration是股票。 使用DigitalOcean VPS,1GB内存/ 30 GB SSD / 2TB传输层。
编辑#1 :我刚刚阅读了一些Linode优化文章,并提到在低内存服务器上closuresKeepAlive
。 我要去尝试一下,看看它是如何发展的。
Apache – 保持活着还是不活跃?
你有没有检查你的日志? access.log和error.log?