我试图正确设置aws实例EC2 m3 Large(7.5 Gio或RAM)上的apache安装。
一周一次或两次,apache崩溃的消息:[Thu Aug 14 12:38:33.552250 2014] [mpm_prefork:error] [pid 6279] AH00161:服务器达到MaxRequestWorkers设置,考虑提高MaxRequestWorkers设置
我的问题是,我应该如何设置我的httpd.conf?
现在,我总是有至less4.5 Gio RAM免费。
我想尽我所能使用我的硬件,并防止Apache突然崩溃。
这里是我的Apache设置:
<IfModule mpm_prefork_module> StartServers 20 MinSpareServers 15 MaxSpareServers 30 MaxRequestWorkers 80 MaxConnectionsPerChild 1000 </IfModule> KeepAlive On KeepAliveTimeout 2 MaxKeepAliveRequests 100
我的请求是平均25Mb,我允许php做125 MB的职位
有人可以build议我吗?
非常感谢。
我从http://httpd.apache.org/docs/current/misc/perf-tuning.html复制一些句子:
影响networking服务器性能的最大硬件问题是RAM。 Web服务器永远不必交换,因为交换会增加每个请求的延迟,超出用户认为“足够快”的程度。 这导致用户停止并重新加载,进一步增加负载。 您可以并应该控制MaxRequestWorkers设置,以便您的服务器不会产生太多开始交换的子项。 这个过程很简单: 通过顶层等工具查看进程列表,确定Apache平均进程的大小,然后将其分配到全部可用内存中,为其他进程留下空间。
除非你内存不足(这听起来像你不是),那么你应该做的就是说:提高MaxRequestWorkers设置。
如果内存不足,则需要通过增加实例大小或添加更多实例来扩大或缩小。