Apache配置中每个孩子的最大连接数的推荐最大值是多少?



我正在尝试减少Apache在服务器上的内存使用。

我的实际最大连接数是10k

根据以下建议

每个子节点的最大连接数应该减少到1000

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

Apache配置中每个孩子最大连接数的推荐最大值是多少?

当你的Apache worker 泄漏内存时,这个指令只会影响任何事情。发生这种情况的一种方式是内存被分配(通过malloc()或其他)并且永远不会释放。这是Apache或其模块的设计/实现缺陷的结果。

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

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

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

在这里分享一下Apache 2.4性能调优页面:

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

和来自Apache 2.4文档的MaxConnectionsPerChild:

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

最新更新