2010-08-09 76 views
3

HTTP協議中的Keep-Alive連接功能旨在減少到Web服務器的TCP連接命中率。它應該能夠提高Web服務器的性能。但是,我發現一些Web服務器有意從服務器端禁用KeepAlive功能。Web服務器端Keep-Alive的優點和缺點

根據我的理解,某些反向代理(即HAProxy)會禁用HTTP保持活動狀態,以減少內存使用量,這在某些情況下比CPU使用率更重要。

Web服務器禁用Keep-Alive還有其他原因嗎?

回答

4

實際上,Keep-Alive的意思是提高HTTP性能,而不是服務器性能(儘管對於SSL連接,它確實降低了重新協商加密的服務器成本)。最大的收穫是瀏覽器爲獲取內容而進行的往返次數。使用Keep-Alives,瀏覽器可以在第一個請求之後爲每個請求消除完整的往返行程,通常會將整頁加載時間減半。

Keep-Alives實際上增加了服務器負載,這就是爲什麼一些共享主機提供商禁用它。每個打開的連接都會消耗內存以及文件描述符(linux),在極端情況下(某些Apache配置),它可能具有從連接到進程的1:1映射。

+0

這與網絡套接字有何不同。 Web'sockers是否也增加了服務器負載? – Vinay 2018-02-05 18:33:35