Apache配置中每个子连接最大连接数的建议最大值是多少?

时间:2014-03-29 15:07:42

标签: apache connection server-configuration

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

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

根据以下建议

  

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

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

Apache配置中每个子节点的最大连接数的建议最大值是什么?

2 个答案:

答案 0 :(得分:7)

此指令影响任何事情的唯一时间是Apache工作人员泄漏内存。这种情况的一种方式是分配内存(通过malloc()或其他)并且永远不会释放。它是Apache或其模块中设计/实现缺陷的结果。

这个指令实际上是一个黑客攻击 - 但是如果有一些模块被加载到Apache中,每个请求都会泄漏8个字节,那么在经过大量请求之后,你就会# 39; ll内存不足。因此,快速修复只是在每个MaxConnectionsPerChild请求时终止进程并启动一个新进程。

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

答案 1 :(得分:1)

默认值为0(表示每个孩子没有最大连接数),因此除非内存泄漏,否则我不知道需要更改此设置-我同意Hut8。

Apache 2.4 Performance调整页面中共享FYI:

  

与进程创建有关的是由MaxConnectionsPerChild设置引起的进程死亡。默认情况下,该值为0,这意味着每个孩子处理的连接数没有限制。如果您的配置当前将此值设置为一个非常低的数字(例如30),则可能需要将其设置得很大。如果您运行的是SunOS或旧版本的Solaris,则由于内存泄漏而将其限制为10000左右。

并从Apache 2.4 docs on MaxConnectionsPerChild

  

将MaxConnectionsPerChild设置为非零值会限制(偶然的)内存泄漏导致进程占用的内存量。