【问题标题】:Why would someone turn off Nagle's Algorithm?为什么有人会关闭 Nagle 算法?
【发布时间】:2012-03-25 18:36:11
【问题描述】:

来自节点redis docs

socket_nodelay:默认为真。是否调用 setNoDelay() TCP 流,在底层禁用 Nagle 算法 插座。将此选项设置为 false 可能会导致额外的 以更多延迟为代价的吞吐量。大多数应用程序都需要 这设置为 true。

我为什么要关闭 Nagle 算法?

【问题讨论】:

    标签: javascript node.js tcp redis


    【解决方案1】:

    当您担心延迟时,您可能希望关闭 Nagle 算法。我对算法的理解是它会延迟发送数据,直到有合理的发送量。这反过来又减少了流的协议开销,因为更多数据在单个数据包中发送(即使用单个标头)。

    关闭 Nagle 算法后,协议栈立即发送数据。

    它是在网络资源更加受限的时代设计的,因此减少开销比方便交付更为重要。然而,如今,由于互连速度普遍更快,并且对低延迟的要求越来越高,它变得不那么重要了。 (想想视频流!)

    【讨论】:

      猜你喜欢
      • 2014-10-30
      • 2013-07-24
      • 2010-11-07
      • 2012-03-29
      • 2011-02-01
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多