禁用tcp慢启动

Jun*_*Suh 8 ubuntu tcp

我正在寻找高速网络的禁用tcp慢启动机制.目前,客户端向具有非阻塞1Gbps链路的随机服务器发送100MB流.在我的数学中,流程的完成时间小于1秒.

但问题是他们无法达到完整的链路带宽.换句话说,它们在获得完整链路带宽之前在慢启动阶段完成.因此,我想将tcp拥塞窗口大小增加到最大.

是否有人知道如何在不修改内核的情况下轻松更改该值?

THX〜

a.m*_*.m. 13

在Linux平台上,可以通过以下命令检查和禁用SSR设置:

$> sysctl net.ipv4.tcp_slow_start_after_idle
$> sysctl -w net.ipv4.tcp_slow_start_after_idle=0
Run Code Online (Sandbox Code Playgroud)

连接空闲后也会使用慢启动,除非禁用此行为

/proc/sys/net/ipv4/tcp_slow_start_after_idle.
Run Code Online (Sandbox Code Playgroud)

  • 对于那些找到这个答案的人来说,请注意,这个问题询问的是 TCP 慢启动,但这个答案是关于“慢启动重新启动”,它发生在现有套接字空闲之后。这可能会让一些人感到困惑,因为这个答案不会更改新连接的初始拥塞窗口,该新连接受 RFC 5681 §3.1 控制,需要基于最大段大小的 initcwnd。通常对长 RTT 连接有帮助的是 cwnd 调整大小算法,该算法可以更好地调整 cwnd 大小,例如 hybla(由 net.ipv4.tcp_congestion_control 控制),并增加接收缓冲区。 (4认同)
  • 是的,你可以这样设置。请参考http://www.cdnplanet.com/blog/tune-tcp-initcwnd-for-optimum-performance/ (2认同)