发新话题
打印

[性能调优] Apache 内存暴增解决方法

Apache 内存暴增解决方法

  今天在逛阿叶大哥的站看到的,觉得如果你的apache前端用squid做加速服务,您还是有必要注意一下下面的apache配置设置。

  前阵子总是发现 httpd 进程的使用内存总量居然达到了上百Mb,有时甚至上Gb,真是夸张。Apache 是架在 Squid 的后面,照理说不应该出现这种情况。通过排查,发现是 Apache 中开启了持续长连接导致。

  Apache 进程的内存使用是 "递增/渐进" 式的,也就是在当前进程的 httpd 过程中,内存使用是持续增加的,也就是说在该进程退出之前,内存是持续增加的。主要是由于下面三个参数来控制。

  KeepAlive On 设定是否要开启持续长连接,由于前面有 Squid,因此在这里把它打开

  MaxKeepAliveRequests 50 在一次持续长连接中,最多允许接收几次请求,如果设置太大的话,很可能导致 httpd进程持续消耗很多内存,因此可以选择一个适当的值,因为重新创建一个新的进程也是要有一定开销的

  KeepAliveTimeout 5 设定一个长连接在没有活动后等待多久自动关闭,可以设置小一点,不过跟上面的类似,如果太小的话,也会导致频繁创建新的进程

  现在,调整完上面的参数后,会发现 httpd 进程不再象以前那样狂吃内存了。
积极!努力!低调!百折不挠!http://www.linuxtone.org
分享才能进步!帮助他人就是在帮助自己! 共同学习探讨Linux!
  Linux= howto+man ! ^_^

TOP

帮顶一下。。。记得请我吃饭。。。
All i need ,just a girl,a pretty girl,a lovely girl...but,where is such a girl???
I am looking for~~~!

TOP

很好呀,谢谢!
方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要!

TOP

谢谢分享,呵呵
呼吸的是如此的自然,即使是狼也感觉不到

TOP

经典

TOP

发新话题