TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google设计,于2016年发布的拥塞算法。

该算法认为随着网络接口控制器逐渐进入千兆速度时,与缓冲膨胀相关的延迟相比丢包更应该被认为是识别拥塞的主要决定因素,所以基于延迟模型的拥塞控制算法(如BBR)会有更高的吞吐量和更低的延迟。
在大多数 Linux 发行版中,cubic 通常是默认设置,但我们发现 htcp 通常效果更好。如果 BBR 在您的系统上可用,您可能还想尝试它。


检查内核兼容

首先检测内核是否支持 TCP BBR

1
sysctl net.ipv4.tcp_available_congestion_control | grep bbr

如果支持,会有类似这样的返回

1
net.ipv4.tcp_available_congestion_control = reno cubic bbr

如果没有任何返回,说明内核不支持,目前已知不支持 TCP BBR 的发行版有 PVE

开启 BBR

1
sysctl -w net.ipv4.tcp_congestion_control=bbr