从Web服务器端保持活力的利弊

Mor*_*eng 8 performance webserver http keep-alive

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

根据我的理解,一些反向代理,即HAProxy,禁用HTTP keep-alive以减少内存使用,这在某些情况下比CPU使用更为关键.

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

小智 7

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

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