【问题标题】:What is the recommended max value for Max Connections Per Child in Apache configuration?Apache 配置中每个孩子的最大连接数的建议最大值是多少?
【发布时间】:2014-05-09 02:12:05
【问题描述】:

我正在努力减少服务器上 Apache 的内存使用量。

我每个孩子的实际最大连接数是 10k

根据以下建议

每个孩子的最大连接数应减少到 1000

http://www.lophost.com/tutorials/how-to-reduce-high-memory-usage-by-apache-httpd-on-a-cpanel-server/

Apache 配置中 Max Connections Per Child 的建议最大值是多少?

【问题讨论】:

    标签: apache connection server-configuration


    【解决方案1】:

    该指令影响任何事情的唯一时间是当您的 Apache 工作人员泄漏内存时。发生这种情况的一种方法是分配内存(通过malloc() 或其他方式)并且从未释放。这是 Apache 或其模块的设计/实现缺陷造成的。

    这个指令确实有点 hack —— 但是如果加载到 Apache 中的某些模块会泄漏,例如,每个请求 8 个字节,那么在大量请求之后,您将耗尽内存。因此,快速解决方法是杀死每个 MaxConnectionsPerChild 请求的进程并启动一个新进程。

    如果您在将 MaxConnectionsPerChild 设置为零时看到它在大量请求的范围内逐渐增加,这只会影响您的内存使用量。

    【讨论】:

    • 网络上对此的最佳解释。
    【解决方案2】:

    默认值为 0(这意味着每个孩子没有最大连接数)所以除非您有内存泄漏,否则我不知道有任何需要更改此设置 - 我同意 Hut8。

    来自Apache 2.4 Performance Tuning 页面的仅供参考:

    与进程创建相关的是由 MaxConnectionsPerChild 设置引起的进程死亡。默认为 0,这意味着每个子节点处理的连接数没有限制。如果您的配置当前将此设置为某个非常低的数字,例如 30,您可能希望显着提高此值。如果您运行的是 SunOS 或旧版本的 Solaris,请将其限制为 10000 左右,因为内存泄漏。

    来自Apache 2.4 docs on MaxConnectionsPerChild

    将 MaxConnectionsPerChild 设置为非零值会限制进程可能因(意外)内存泄漏而消耗的内存量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多