2012-12-11 252 views
0

超载在与Apache和MySQL的专用服务器,我们有一个问题,如果超过一定数量的请求/分钟的流量偷窥。在这种情况下,服务器变得完全没有响应。该服务器是一款带有4GB RAM的英特尔双核G6950,它只有一个Drupal 6站点。服务器阿帕奇

如果升压(静态HTML缓存方法)启用服务器一直工作得很好(负荷几乎为零)与相同的通信ammount的,所以这是解决方案的一部分。尽管我想知道如何配置服务器,所以即使无论出​​于何种原因禁用了缓存,或者流量达到了一个数字,即使启用了Boost,Apache也会再次关闭服务器,该服务器也不会停止运行。

我发现MaxClients设置为低至10可以确保服务器不会停机并禁用Boost缓存,但我知道在这种情况下(150 * RAM内存)应该将其设置为600左右。启用Boost可能会很好,但显然不是没有它。

所以长话短说:我有点失去。我能做些什么来确保Apache不会破坏整个服务器?我不在乎是否在极端情况下Apache不能满足所有请求(启用了Boost后,这种情况不会在任何时候发生),但它不应该因为无法足够快地处理请求而变得完全没有响应。

回答

0

最佳MaxClients的值取决于可用的内存的Apache量以及每个过程中的平均存储器。 4GB机器上的600值可能有点过高,因为每个进程可能需要高达25 MB或更多,这需要25MB x 600 = 15000MB的空闲内存。我会尽量在你的情况下保守一些,并将MaxClients设置为100-125。

+0

即使设置为100时将最终(阅读:一分钟内)关闭服务器不缓存在高负载下。有了缓存,这可能会好起来,但我想确保它也保持响应没有它。 – MidnightMotion

+0

你确定它是Apache的行为不当,而不是MySQL? – jamix

+0

可能,在这种情况下,我想了解更多。有没有什么好的资源可以进入它? – MidnightMotion