开启TCP BBR网络加速
约 626 字大约 2 分钟
2026-08-30
BBR(Bottleneck Bandwidth and Round-trip propagation time)是 Google 提出的 TCP 拥塞控制算法,Linux 内核 4.9 起原生内置。相比传统的 cubic 算法,BBR 不把丢包当作拥塞信号,而是主动测算链路的瓶颈带宽与往返时延来控制发送速率,在高延迟、存在丢包的链路上(典型如跨境访问)通常能明显提升吞吐、缩短页面加载时间。
开启 BBR 只是调整拥塞控制策略,不会改变实例带宽上限,也无需安装额外软件。
适用场景
| 场景 | 建议 |
|---|---|
| 网站或下载服务面向跨境用户,速度不理想 | 建议开启 |
| 线路存在少量丢包,大文件传输慢 | 建议开启 |
| 服务器主要作为下载端(主动拉取数据) | 收益有限,拥塞控制只作用于发送方向 |
| 内网或同地域低延迟传输 | 收益不明显,保持默认即可 |
前提条件
BBR 需要内核版本 4.9 及以上。先确认当前内核与正在使用的算法:
uname -r
sysctl net.ipv4.tcp_congestion_control输出 cubic 表示仍在使用默认算法。主流新版系统(Debian 10+、Ubuntu 18.04+、CentOS 8 / AlmaLinux / Rocky Linux 等)的内核均满足要求。
注意
CentOS 7 默认内核为 3.10,不支持 BBR。不建议在生产服务器上自行编译内核或使用第三方源升级内核,一旦启动异常影响远大于收益;确有需要的,可通过重装系统说明更换为较新的系统镜像(务必先备份数据)。
开启 BBR
以 root 身份执行以下命令,写入内核参数并立即生效:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p其中 fq 是与 BBR 配套的队列调度算法,建议一同设置。
验证是否生效
sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr第一条命令输出 net.ipv4.tcp_congestion_control = bbr、第二条能看到 tcp_bbr 模块,即表示已生效。之后新建的 TCP 连接都会使用 BBR。
回滚设置
如需恢复默认,编辑 /etc/sysctl.conf,删除或用 # 注释掉上面追加的两行,再执行 sysctl -p;也可以直接把 bbr 改回 cubic 后重新加载。
提示
BBR 的提升幅度取决于线路质量与对端网络环境,无法一概而论。若开启后没有可感知的变化,按上述步骤回滚即可,对业务没有副作用。
