BBR,全名 Bottleneck Bandwidth and Round-trip propagation time,是 Google 于 2016 年开发的一种新的 TCP 拥塞控制算法(congestion control algorithm)。 服务器利用 BBR,可以最大程度的利用带宽,提升网络传输速率。尤其是开启 TCP BBR 加速的 VPS,网速可以获得显著的提升。
Google 开源了 TCP BBR 拥塞控制算法,并提交到了 Linux 内核。从 4.9 版本开始,Linux 内核集成了该算法。Linux 服务器利用 TCP BBR 最简单的办法,就是升级内核版本,使其版本大于 4.9,即可直接开启 TCP BBR。
在内核中开启 BBR 支持
- 核查系统内核版本
uname -r
看内核版本是否大于等于4.9,否则要升级内核,或单独安装 BBR。
-
开启 BBR,修改系统变量
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
- 保存生效
sysctl -p
查看内核中 BBR 状态
- 查看内核可以支持的 TCP 拥塞算法的种类
sysctl net.ipv4.tcp_available_congestion_control
返回值一般为:
net.ipv4.tcp_available_congestion_control = reno cubic bbr
-
查看内核当前所采用的 TCP 拥塞算法
sysctl net.ipv4.tcp_congestion_control
返回值一般为:
net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
返回值一般为:
net.core.default_qdisc = fq
-
查看内核模块中是否有 BBR
lsmod | grep bbr
返回值有 tcp_bbr 模块,如
tcp_bbr 20480 10
,则说明 BBR 已启动。