【问题标题】:Pros and Cons of Keep-Alive from Web Server Side从 Web 服务器端保持活动的优点和缺点
【发布时间】:2011-03-27 08:18:10
【问题描述】:

HTTP 协议中的 Keep-Alive 连接功能旨在减少对 Web 服务器的 TCP 连接命中。它应该能够提高 Web 服务器的性能。但是,我发现一些 Web 服务器故意从服务器端禁用 KeepAlive 功能。

据我了解,某些反向代理,即 HAProxy,会禁用 HTTP keep-alive,以减少在某些情况下比 CPU 使用更重要的内存使用。

Web 服务器禁用 Keep-Alive 是否还有其他原因?

【问题讨论】:

    标签: performance http webserver keep-alive


    【解决方案1】:

    实际上,Keep-Alive 旨在提高 HTTP 性能,而不是服务器性能(尽管对于 SSL 连接,它确实降低了服务器重新协商加密的成本)。最大的胜利在于浏览器为获取内容而必须进行的往返次数。使用Keep-Alive,浏览器可以在第一次请求之后消除每个请求的完整往返,通常将整个页面加载时间减少一半。

    Keep-Alive 增加服务器负载,这就是一些共享主机提供商禁用它的原因。每个打开的连接都会消耗内存以及文件描述符 (linux),在极端情况下(某些 Apache 配置),它可能具有从连接到进程的 1:1 映射。

    【讨论】:

    • 这与网络套接字有何不同。 web'sockers 是否也会增加服务器负载?
    猜你喜欢
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 2010-12-01
    • 2020-02-02
    • 2016-03-29
    • 2017-08-15
    • 2014-01-21
    • 2014-02-09
    相关资源
    最近更新 更多