Apache 在低平均负载时发生堵塞

Apache 在低平均负载时发生堵塞

尽管 Apache 进程仍在运行,但 Apache 有时似乎会停止响应。

重新启动 apache 后,平均负载通常会在几秒钟内从 1 - 2 上升到 13 - 15。

这是什么原因造成的,或者我如何才能找出 Apache 停止服务的原因?

我的httpd.conf是:

<IfModule mpm_prefork_module>
    StartServers          8
    MinSpareServers       5
    MaxSpareServers      20
    MaxClients          50
    ServerLimit         50
    MaxRequestsPerChild   4000
</IfModule>

它在 EC2 c1.medium(1.7 GB 内存)上运行

谢谢

答案1

50 maxclients 与不过期的 http 会话相结合。增加您的 maxclients。

答案2

遗憾的是,这个问题的答案并不那么简单。它可能有很多原因。

但我会这样做
- 卸载应用程序不需要的所有模块
- 删除所有虚拟主机,看看它是否仍然存在。
- 关闭除 sshd 之外的所有服务并重新启动 apache,结果是否相同? 某些服务可以与 apache 交互。
- 更新 apache 和所有模块。

我要考虑的另一件事是进程启动存在问题。我曾经见过一台配置不当的服务器,它有 125 个备用服务器,重新启动服务需要 5 分钟才能启动备用服务器。我知道你没有那么多,但如果启动线程需要太多资源或挂起,这可能是你的服务停止工作的根源。

尝试降低备用服务器数量,看看负载是否降低,尝试增加备用服务器数量,看看负载是否升高。但我仍然会考虑更新。

祝你好运!

相关内容