4
從節點redis docs:爲什麼有人會關閉Nagle的算法?
socket_nodelay:默認爲true。是否在 TCP流上調用setNoDelay(),該流禁用底層 套接字上的Nagle算法。將此選項設置爲false可能會導致額外的 吞吐量,代價是延遲更大。大多數應用程序會將 設置爲true。
我爲什麼要關閉Nagle算法?
從節點redis docs:爲什麼有人會關閉Nagle的算法?
socket_nodelay:默認爲true。是否在 TCP流上調用setNoDelay(),該流禁用底層 套接字上的Nagle算法。將此選項設置爲false可能會導致額外的 吞吐量,代價是延遲更大。大多數應用程序會將 設置爲true。
我爲什麼要關閉Nagle算法?
如果您擔心延遲,您可能需要關閉Nagle算法。我對該算法的理解是它會延遲發送數據,直到有合理的數量發送。這又減少了流的協議開銷,因爲在單個分組中發送更多數據(即,具有單個報頭)。
關閉Nagle算法後,其思想是數據由協議棧立即發送。
它是在當天網絡資源受到更多限制的情況下設計的,因此減少開銷對於便捷交付更爲重要。然而,現在通常互連速度更快,對低延遲的要求也越來越低,它變得不那麼重要。 (認爲視頻流!)