服务器崩溃:连接数太多?

服务器崩溃:连接数太多?

我的服务器一次大约有 500 个活动连接(用于非常繁忙的网站)。不幸的是,Apache 每隔一小时左右就会使整个服务器崩溃。该服务器有 8 GB 的 RAM 和四核 Xeon CPU,因此就我而言,这应该足以处理大量连接。我怀疑我的 Apache 配置可能需要一些优化。这是当前配置:

StartServers          2
MinSpareThreads      25
MaxSpareThreads      75 
ThreadLimit          64
ThreadsPerChild      25
MaxClients           400
MaxRequestsPerChild  20000

非常感谢任何建议(不仅与 Apache 相关)!

答案1

您的机器或 Apache 服务器崩溃了吗?

如果是第一种情况,那么我会考虑可能是硬件(内存)有故障。

如果是第二种情况,请尝试使用一些监控工具,例如穆宁查看在什么时间间隔内发生什么以及服务器上的负载/压力是多少。还可以检查错误日志以获取更多有关正在发生的事情的线索。

答案2

您的配置中的任何内容都不应导致 Apache 崩溃。除非您内存不足,否则您应该从其他地方查找问题的原因。

答案3

您应该首先绘制资源利用率图表(例如负载、内存、交换......),这样您就可以了解实际情况。

查看系统和 apache 日志,看看崩溃前是否有一些“异常”消息。

从您的配置摘录中,我猜您正在使用 worker mpm,它看起来很正常,仅此配置不会导致崩溃。

答案4

您正在运行任何脚本语言,可能是 PHP 吗?

我的问题的背景是,我在一台运行 Apache 和 PHP 的服务器上也遇到了类似的问题。最终,并不是 Apache 杀死了服务器,而是 PHP 遇到了 OOM,杀死了几乎所有的重要进程,然后服务器就被杀死了(对我来说)。

查看我在此主题中针对 OOM 解决方法的回答. 或许还可以检查服务器日志文件中是否存在 OOM 条目。

相关内容