Iis
在 IIS 7 中為高流量 Web 應用程序禁用 Keep-Alive 會更好嗎?
下面的建議適用於 Apache,但無論系統如何,它似乎都足夠通用。我的架構是負載均衡器後面的 3 個 Web 伺服器。我的 IIS 伺服器目前啟用了保持活動狀態,預設連接超時為 2 分鐘。禁用我的站點的 keep-alive 會提高性能和吞吐量嗎?
首先,禁用keep-alive。這是對性能最討厭的事情。它是在站點執行 NCSA httpd 時設計的,它在每次請求時都分叉了 inetd。所有這些分叉都在殺死伺服器,而 keep-alive 是一個很好的解決方案。
…
如果保持活動時間太短而無法在兩次點擊之間保持會話,那就沒用了。如果它足夠長,那麼這意味著伺服器將需要每個同時使用者大約一個程序,這還不包括大多數瀏覽器通常同時建立 4 個會話的事實!簡而言之,使用類似 Apache 的伺服器執行 keep-alive 的站點不可能一次為超過數百名使用者提供服務。
Keepalive 對於為每個頁面請求分配多個/多個資源的伺服器很方便。如果您的伺服器託管 html、css、js、圖像等,Keepalive 將允許每個連接下載多個文件。建立 tcp 連接並加快速度需要一些時間。
但是,如果您只是託管單個資源並且任何依賴資源是從 cdn 中提取的或不存在,那麼禁用 keepalive 可以讓伺服器和負載均衡器更快地關閉連接。