tcpOutAckDelayed 到底是什么意思,如果它正在计数,这会是个问题吗?

tcpOutAckDelayed 到底是什么意思,如果它正在计数,这会是个问题吗?

tcpOutAckDelayed 是什么意思,是什么原因导致它计数?这是否表示存在问题?

太阳文档不清楚!

谢谢,丹

答案1

延迟 ACK 基本上是 tcp 堆栈的智能。粘贴:

延迟 ACK 意味着 TCP 不会立即确认每个收到的 TCP 段。(阅读以下内容时,请考虑交互式 ssh 会话,而不是批量传输。)如果您收到单个单独的 TCP 段,则等待 100-200 毫秒,假设接收应用程序可能会生成某种响应。(例如,每次 sshd 收到击键时,它通常会生成字符回显作为响应。)您不希望 TCP 堆栈每次都发送空 ACK,然后 1 毫秒后发送 TCP 数据包,因此您会稍微延迟一下,以便将 ACK 和数据包合并为一个。到目前为止一切顺利。但如果应用程序不生成任何响应数据怎么办?那么,在这种情况下,一点延迟有什么区别?如果没有响应数据,那么客户端就不会等待任何东西,不是吗?好吧,应用层客户端不能等待任何东西,但最后的 TCP 堆栈可以等待:这就是 Nagle 算法发挥作用的地方:

阅读更多Nagle 算法与延迟 ACK 交互导致的 TCP 性能问题

相关内容