即使 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 内存)上运行
谢谢
50 个 maxclients 与未过期的 http 会话相结合。增加您的最大客户数。
遗憾的是,这个问题的答案并不那么容易。这可能是很多事情。
但这是我要做
的 - 卸载您的应用程序不需要的所有模块
- 删除所有虚拟主机,看看它是否仍然存在。
- 关闭除sshd以外的所有服务并重新启动apache,结果是否一样?一些服务可以与 apache 交互。
- 更新 apache 和所有模块。
我要考虑的另一件事是流程启动存在问题。我曾经见过一个配置错误的服务器,有 125 台备用服务器,重新启动服务需要 5 分钟才能启动备用服务器。我知道你没有那么多,但如果启动一个线程需要太多资源或挂起,这可能是你的服务停止工作的原因。
尝试降低备用服务器,看看负载是否减少,尝试增加它,看看负载是否变高。但是,我仍然会考虑更新。
祝你好运!