调节保持连接(KeepAlive)的设定

发布于 2022-10-15 07:57:19 字数 1464 浏览 19 评论 0

调节保持连接(KeepAlive)的设定

HTTP 默认行为是在新的连接上请求文件,这会花费许多时间启动与关闭连接。
使用KeepAlive可以单一连接时进行多个请求,因此可以减少建立socket连接所需要的时间,而又会加快客户端在请求网页内容的加载速度。

KeepAlive设定:
KeepAlive On        //启用KeepAlive 设定
MaxKeepAliveRequests 100        //指定单一连续时间可以允许多少个保持连接的请求
KeepAliveTimeout 15        

KeepAliveTimeout 如何设定最佳值:
在没有接受其他请求时,KeepAliveTimeout 指定会持续开启特定连接的时间。
此指令的最佳设定完全视网站的特性而定。

分析:
KeepAliveTimeout 过期前,用户已点击下一网页内容的链接而进入下一网页,他们会在同一连接获得该文件。
不过,如果该时间过期,他们就需要建立对该下一网页的服务器的新连接。
同时,如果用户从网站下载资源然后离开,Apache 仍然会持续开启连接KeepAliveTimeout 秒,而在这段时间该子进程无法服务任何其他请求。
因此,KeepAliveTimeout设得太大与太小都不适合。

如果将KeepAliveTimeout设的太大,在server-status里会看到许多进程保持连接状态却是空闲的。
如果将KeepAliveTimeout设的太小,则当单一客户端在短暂的访问期间请求许多连接时,会产生类似于完全停用 KeepAlive的情况。

因此,在一般情况下,将KeepAliveTimeout 设得太大引起的问题会比设得过小引起的问题小些。

参考文档:
http://httpd.apache.org/docs/2.2/mod/core.html
http://httpd.apache.org/docs/2.2/mod/core.htmlrequests
http://httpd.apache.org/docs/2.2/mod/core.htmltimeout

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文