前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP的KeepAlive是开启还是关闭?

HTTP的KeepAlive是开启还是关闭?

作者头像
跟着阿笨一起玩NET
发布2018-09-20 15:14:26
2.1K0
发布2018-09-20 15:14:26
举报

HTTP的KeepAlive是开启还是关闭?

http://itindex.net/detail/50719-http-keepalive

1、KeepAlive的概念与优势

        HTTP的KeepAlive就是浏览器和服务端之间保持长连接,这个连接是可以复用的。当客户端发送一次请求,收到相应内容后,这个连接会保持一段时间,在该时间内的第二次就不需要再重新建立连接,就可以直接使用这次的连接来发送请求了,极大的提高了速度。 

2、KeepAlive的劣势

        是不是所有网站都应该开启KeepAlive了?答案肯定是不是的。KeepAlive在增加访问效率的同时,也会增加服务器的压力。 

3、apache配置KeepAlive

         apache通过配置KeepAlive和KeepAliveTimeout来控制KeepAlive,具体参数如下:

         KeepAlive  On/Off            (可以设置开启On或者是关闭Off)           KeepAliveTimeout  10    (持久连接保持的时间,到时间会断开链接) 

4、案例说明(来源互联网):

         假设 KeepAlive 的超时时间为 10 秒种,服务器每秒处理 50 个独立用户访问,那么系统中Apache的总进程数就是 10 * 50 = 500 个,如果一个进程占用 4M 内存,那么总共会消耗2G内存,所以可以看出,在这种配置中,相当消耗内存,但好处是系统只处理了 50次 TCP 的握手和关闭操作。           如果关闭 KeepAlive,如果还是每秒50个用户访问,如果用户每次连续的请求数为3个,那么 Apache 的总进程数就是 50 * 3 = 150 个,如果还是每个进程占用 4M 内存,那么总的内存消耗为600M,这种配置能节省大量内存,但是,系统处理了 150 次 TCP 的握手和关闭的操作,因此又会多消耗一些 CPU 资源。 

5、总结

        (1)如果内存和CPU都足够,开启和关闭KeepAlive对性能影响不大。          (2)如果考虑服务器压力,如果是静态页面,大量的调用js或者图片的话,建议开启KeepAlive;如果是动态网页,建议关闭KeepAlive。 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-06-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档