服务器优化Tip-Apache的KeepAlive On是否要开启长连接

本文深入探讨了Apache配置中KeepAlive功能的影响,对比了其开启与关闭后的内存与CPU使用情况,建议对于动态网页服务与访问量巨大的服务器,应考虑关闭KeepAlive以优化资源利用。
apache配置:

vi /usr/local/apache/conf/httpd.conf

Timeout 300

KeepAlive On

说明:

打开 KeepAlive 后,意味着每次用户完成全部访问后,都要保持一定时间后才关闭会关闭 TCP 连接,那么在关闭连接之前,必然会有一个 Apache 进程对应于该用户而不能处理其他用户,假设 KeepAlive 的超时时间为 10 秒种,服务器每秒处理 50 个独立用户访问,那么系统中 Apache 的总进程数就是 10 * 50 = 500 个,如果一个进程占用 4M 内存,那么总共会消耗 2G 内存,所以可以看出,在这种配置中,相当消耗内存,但好处是系统只处理了 50次 TCP 的握手和关闭操作。另外,如果访问压力非常大的服务器,由于超时的设置,部分进程尚未释放请求,导致后来的请求无法被处理,这就出现Time out问题了。

如果关闭 KeepAlive,如果还是每秒50个用户访问,如果用户每次连续的请求数为3个,那么 Apache 的总进程数就是 50 * 3 = 150 个,如果还是每个进程占用 4M 内存,那么总的内存消耗为 600M,这种配置能节省大量内存,但是,系统处理了 150 次 TCP 的握手和关闭的操作,因此又会多消耗一些 CPU 资源。

总结一下:
1.对于动态网页服务,建议关闭KeepAlive,如果配置了rewrite,更是要关闭。

2.对于访问量超大的服务,也建议关闭KeepAlive。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值