【发布时间】:2019-03-22 12:40:38
【问题描述】:
Linux 内核 TCP/IP 堆栈 impl 可以宣布的最小 TCP 接收窗口大小是多少,我如何配置以使其宣布这样一个?我的目标是实现低延迟并牺牲吞吐量?
【问题讨论】:
-
为什么您认为减小 TCP 接收窗口大小会降低延迟?
-
为了低延迟,您应该使用带有内核绕过的 UDP。
-
"为了低延迟,您应该使用带有内核绕过的 UDP" - 此时服务器只接受 TCP 连接。 “为什么你认为减小 TCP 接收窗口大小会减少延迟?” - 现在我的测试客户端应用程序每秒从缓冲区读取大约 128 个字节,TCP 堆栈等待直到有可用的 SO_RCVBUF/2 字节空间,然后通知服务器新窗口大小。如果可能的话,我想让我的客户宣布窗口大小低于 SO_RCVBUF/2。
标签: sockets tcp network-programming