Linux 开启BBR加速
什么是 TCP BBR?为什么你需要它?
在如今这个对网络速度要求越来越高的时代,服务器的网络性能直接影响着用户体验和业务效率。
TCP BBR (Bottleneck Bandwidth and Round-trip propagation time) 是由 Google 开发的一种先进的 TCP 拥塞控制算法。与传统的基于丢包的拥塞控制算法(如 Cubic)不同,BBR 通过主动探测网络的瓶颈带宽和往返延迟,来更精确地调整发送速率。
启用 BBR 的主要优势
| 优势 | 说明 |
|---|---|
| 显著提升网络吞吐量 | 尤其是在有一定丢包率或延迟较高的网络链路上(例如跨国访问、Wi-Fi 和移动网络) |
| 有效降低网络延迟 | 通过避免不必要的缓冲膨胀 (Bufferbloat),让网络连接更加灵敏 |
| 更好的网络波动适应性 | 即使在网络质量不稳定的情况下,也能维持相对较高的性能 |
对于网站服务器、应用服务器、游戏服务器或任何需要处理大量互联网流量的 Linux 服务器来说,开启 BBR 往往能带来立竿见影的性能改善。
第一步:检查当前是否已启用 BBR
首先,我们需要确认你的系统当前正在使用哪种 TCP 拥塞控制算法。
在服务器终端输入以下命令:
1 | sysctl net.ipv4.tcp_congestion_control |
情况一:已启用 BBR
如果输出结果是:
1 | net.ipv4.tcp_congestion_control = bbr |
恭喜你!这说明 BBR 已经在你的系统上启用了。
接下来,进一步确认内核是否已经加载了 BBR 模块:
1 | lsmod | grep bbr |
如果看到类似下面的输出(具体数字可能不同):
1 | tcp_bbr 20480 1 |
这表明内核已成功加载 BBR 模块,并且系统正在使用 BBR 进行网络加速。
第二步:如果 BBR 未启用,如何开启?
如果上述检查结果显示你没有启用 BBR(例如,tcp_congestion_control 的值是 cubic),按照以下步骤来开启它。
1. 确认内核版本
BBR 需要 Linux 内核版本 4.9 或更高。使用以下命令查看你的内核版本:
1 | uname -r |
例如,输出可能是 5.15.0-72-generic。只要主版本号大于等于 4,次版本号大于等于 9,就满足条件。
2. 启用 BBR 并设置为永久生效
如果内核版本符合要求,你可以通过以下命令立即启用 BBR:
1 | # 设置队列调度程序为 fq(Fair Queue) |
说明:
fq(Fair Queue) 是一种队列调度程序,通常推荐与 BBR 配合使用以获得最佳效果。
为了让这些设置在服务器重启后依然生效,我们需要将它们添加到 sysctl 的配置文件中:
1 | # 将配置追加到 /etc/sysctl.conf |
然后,应用这些永久配置,使其立即生效,无需重启:
1 | sudo sysctl -p |
执行后,系统会加载 /etc/sysctl.conf 中的配置。
3. 再次检查以确认
完成上述步骤后,再次运行检查命令,确保 BBR 已经成功启用:
1 | sysctl net.ipv4.tcp_congestion_control |
预期输出:
1 | net.ipv4.tcp_congestion_control = bbr |
以及:
1 | lsmod | grep bbr |
预期能看到 tcp_bbr 模块。
第三步:测速验证(可选)
为了直观地感受 BBR 带来的提升,你可以在启用 BBR 前后,使用 speedtest-cli 工具测试服务器的上传和下载速度。
安装并运行 speedtest-cli
1 | curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python - |
对比测试结果
对比两次的测试结果,尤其是在 上传速度 和 连接稳定性 方面,你可能会发现显著的改善。
完整命令速查表
| 操作 | 命令 |
|---|---|
| 查看当前拥塞控制算法 | sysctl net.ipv4.tcp_congestion_control |
| 查看 BBR 模块是否加载 | lsmod | grep bbr |
| 查看内核版本 | uname -r |
| 临时启用 BBR | sudo sysctl -w net.ipv4.tcp_congestion_control=bbr |
| 应用配置 | sudo sysctl -p |
| 网络测速 | curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python - |
常见问题
Q: 内核版本低于 4.9 怎么办?
需要升级内核。以 Ubuntu 为例:
1 | # 更新软件包列表 |
Q: 启用 BBR 后网络变慢了?
这种情况比较少见,可能原因:
- 网络环境本身不适合 BBR(如极低延迟的局域网)
- 可以尝试切换回原来的算法:
1
sudo sysctl -w net.ipv4.tcp_congestion_control=cubic
Q: 如何确认 BBR 真的在工作?
可以通过网络监控工具观察:
1 | # 查看 TCP 连接统计 |
总结
启用 TCP BBR 是一个简单而有效的提升 Linux 服务器网络性能的方法。通过几个简单的命令,你就可以让你的服务器在复杂的互联网环境中表现得更加出色。
核心步骤回顾:
- 检查当前状态
- 确认内核版本 ≥ 4.9
- 启用 BBR 并永久保存配置
- 验证启用状态
- (可选)测速对比
如果你还没有尝试过,不妨现在就去检查并开启它吧!
参考资源
- Title: Linux 开启BBR加速
- Author: 清夏晚风
- Created at : 2026-04-05 12:32:25
- Updated at : 2026-05-29 14:43:36
- Link: https://blog.yuil.cn/2026/04/05/计算机基础/操作系统相关/操作系统使用相关/Linux/公共基础/Linux 网络优化安防/Linux 开启BBR加速/
- License: This work is licensed under CC BY-NC-SA 4.0.