![禁用 TCP 慢启动](https://linux22.com/image/1366295/%E7%A6%81%E7%94%A8%20TCP%20%E6%85%A2%E5%90%AF%E5%8A%A8.png)
我正在寻找针对高速网络禁用 TCP 慢启动机制的方法。目前,客户端使用无阻塞 1Gbps 链路向随机服务器发送 100MB 流量。根据我的计算,这些流量的完成时间不到 1 秒。
但问题是它们无法达到完整的链路带宽。换句话说,它们在获得完整的链路带宽之前就完成了慢启动阶段。因此,我想将 tcp 拥塞窗口大小增加到最大。
有谁知道如何在不修改内核的情况下轻松更改该值?
谢谢~
答案1
在较旧的 Linux 内核版本中,初始拥塞窗口值(initcwnd
)低至 2(2*MSS,或约 3KB),而自 3.0 起,新的默认值为 10(约 14KB)。
如果你的 Linux 内核不是很老,你可以使用命令增加初始拥塞窗口ip
,如下所示:
获取当前默认路线信息:
$ ip route | grep default
default via 192.168.1.1 dev eth0 proto static
initcwnd
为该路线分配新值:
$ sudo ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 10
这会将默认初始拥塞窗口增加到更高的值 10*MSS (~14KB)。您可能希望使用高于此值的值,可能高达 40。
欲了解更多信息,请阅读谷歌原先的提议是增加 initcwnd并且本文。