买完 VPS 第一件事该做什么?除了改密码,开 BBR 可能是收益最大、成本最低的一步——尤其你的 VPS 是跨国线路。这篇教程把 BBR 讲透:是什么、为什么快、怎么开、开完有什么效果。
快速上手:30 秒开启 BBR(想先跑起来就看这里)
绝大多数 2020 年后购买的 VPS(Debian 10+ / Ubuntu 18.04+ / CentOS 8+ / Rocky / Alma)内核都 ≥4.9,直接三条命令:
# 1. 启用 fq 队列 + BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# 2. 立即生效
sysctl -p
# 3. 验证是否生效
sysctl net.ipv4.tcp_congestion_control
# 输出应为: net.ipv4.tcp_congestion_control = bbr
看到 = bbr 就成功了。老内核(如 CentOS 7 默认 3.10)看第五节”内核检查与升级”。
一、什么是 BBR?
BBR(Bottleneck Bandwidth and Round-trip propagation time,瓶颈带宽和往返传播时间)是 Google 在 2016 年开源并合入 Linux 内核的新一代 TCP 拥塞控制算法。
要理解 BBR,先要知道 TCP 拥塞控制是干什么的:网络带宽是共享的,TCP 需要自己判断”现在能发多快”,发太快会堵死网络,发太慢又浪费带宽。这个”试探并控制发送速率”的机制就是拥塞控制。
Linux 上 TCP 拥塞控制的演进:
| 算法 | 时代 | 核心思路 |
|---|---|---|
| Reno / NewReno | 1980s | 丢包即降速一半,慢启动翻倍 |
| CUBIC | 2006 | 丢包后快速恢复,Linux 默认多年 |
| BBR | 2016 | 不靠丢包判断,直接测量带宽和延迟 |
CUBIC 统治了 Linux 十几年,但它的前提——”丢包 = 网络拥塞”——在今天的网络里已经不成立了:跨境线路、运营商限速、无线网络上的丢包,很多不是真拥塞,而是限速、防火墙丢包、网络波动。CUBIC 一遇到丢包就降速,哪怕带宽其实很空——这就是为什么晚高峰跨境速度”掉得离谱”。BBR 就是来解决这个问题的。
二、BBR 的原理:为什么它比 CUBIC 快
BBR 的思路完全不同:不把丢包当减速信号,而是直接测量链路的两个物理参数:
- BtlBw(瓶颈带宽):链路能承载的最大传输速率——用”窗口内最大交付速率”来估算
- RTprop(最小往返时间):网络最通畅时的 RTT——取一段时间内的最小 RTT
然后 BBR 按 BtlBw × RTprop(即带宽-延迟积 BDP)这个”理论最优速率”来匀速发送数据包(pacing),并配合 fq(Fair Queue)队列调度。
和 CUBIC 的本质区别:
| CUBIC | BBR | |
|---|---|---|
| 拥塞信号 | 丢包(丢包 → 减半) | 带宽+延迟测量(不因丢包盲目降速) |
| 对丢包的反应 | 一丢就降速 | 丢包时仍按估算带宽发送(除非真拥塞) |
| 高延迟/高带宽链路 | 利用率低(要慢慢爬) | 快速占满 |
| 晚高峰限速/丢包场景 | 速度断崖 | 更稳、更抗劣化 |
一句话原理:CUBIC 是”撞到墙就后退”,BBR 是”先量好路的宽度,再按最优速度跑”。所以 BBR 在高延迟、高带宽、有丢包的跨境/跨洋链路上提升尤其明显——这正是大多数 VPS 用户的实际场景。
三、BBR 适合哪些场景
强烈推荐开启:
- 跨国/跨洋线路(国内访问美国、欧洲、日本 VPS)
- 晚高峰丢包明显的线路
- 单线程下载、视频、流媒体(单连接速度吃紧的场景)
- 大流量传输(备份、BT、中转)
效果有限的场景:
- 低延迟局域网/同城(链路本身没瓶颈,区别不大)
- 纯上行限速到很小(如 1Mbps 小水管——瓶颈在运营商限速,算法救不了)
- 服务器本身 CPU 极弱的老机器(现代硬件无感,但 fq 有极小开销)
重要认知:BBR 是”把可用带宽用满”,不是”凭空增加带宽”。你的物理带宽多大,BBR 只是帮你更接近这个上限。
四、怎么开启 BBR(分步详解)
1. 检查内核版本(≥4.9 才行)
uname -r
- ≥ 4.9:直接下一步(2020 年后系统基本都满足)
- < 4.9(如 CentOS 7 默认 3.10):需先升级内核,见下文
2. 检查内核是否已包含 BBR 模块
modprobe tcp_bbr
lsmod | grep bbr
sysctl net.ipv4.tcp_available_congestion_control
新内核 BBR 已内置;老内核若 modprobe 报错,说明内核太旧(走升级路线)。可用列表里应包含 bbr。
3. 写入配置并生效
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
default_qdisc=fq:为 BBR 配套的公平队列(BBR 依赖 pacing,fq 提供)tcp_congestion_control=bbr:把默认拥塞算法设为 BBR
4. 验证
sysctl net.ipv4.tcp_congestion_control # 应输出 bbr
sysctl net.core.default_qdisc # 应输出 fq
两条都对了就完成了——已生效的连接不受影响,新建连接自动用 BBR。
5. 老内核升级(CentOS 7 等)
CentOS 7 默认内核 3.10 不支持 BBR,两种方案:
- 方案 A(推荐):升级到 ELRepo 的长期支持内核(如 5.4 LTS)
- 方案 B:换 Debian/Ubuntu/CentOS 8+ 等新系统(顺带解决很多老系统问题)
# CentOS 7 示例(ELRepo 内核)
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-lt -y
# 安装后重启并选择新内核
reboot
升级内核有风险,生产环境请先备份。多数情况下直接选 Debian/Ubuntu 更省心。
五、开启后的效果(怎么验证 + 参考数据)
验证方法(开启前后各测一次对比)
方法 1:iperf3 单线程测速(最能体现 BBR 优势)
# 服务器端
iperf3 -s
# 本地端
iperf3 -c 服务器IP -P 1
方法 2:直接下载测速(用服务商给的测试文件或自建)
wget -O /dev/null http://服务器IP/100MB.bin
方法 3:NodeQuality 面板——测速面板里的单线程传输数据,开启 BBR 前后对比(报告时间一致才有意义)。
参考数据(跨境场景典型)
| 场景 | CUBIC | BBR |
|---|---|---|
| 美西 → 国内 单线程下载 | 30-80 Mbps(丢包即降) | 100-300 Mbps(可达带宽上限) |
| 晚高峰跨境 | 明显掉速、波动 | 更稳定、掉速幅度小 |
| 东京/香港 → 国内 | 改善相对小(延迟低) | 仍有一档提升 |
具体数值取决于你的带宽、线路和时段。以你机器实测为准
六、常见问题 FAQ
Q1:BBR、BBRplus、BBR2、魔改版有什么区别?
A:BBR 是 Google 官方主线算法;BBRplus、BBR2(第二代,Google 后续研发)、各种”魔改版”是第三方变体。教程建议:直接用官方 BBR 即可——稳定、内核自带、无兼容问题。魔改版收益有限且缺乏长期维护。
Q2:BBR 需要服务器端和客户端都开吗?
A:只需服务器端开启即可生效。BBR 是发送端算法,你的 VPS 作为发送方(下载场景)开启就有用;本地客户端无需配置(最新内核默认也可能开着)。
Q3:开启 BBR 会影响服务器性能或稳定性吗?
A:一般不会。fq 队列有极小 CPU 开销,现代服务器无感;BBR 是内核官方算法,已在全球大规模验证。唯一建议:生产环境先备份 sysctl.conf。
Q4:BBR 和锐速(LotServer)哪个好?
A:锐速是商业魔改算法(已停止维护),BBR 是内核原生。现在没有理由再用锐速——BBR 免费、稳定、内核自带。
Q5:重启服务器后 BBR 会失效吗?
A:只要写入了 /etc/sysctl.conf 就不会失效(重启自动加载)。如果失效,检查是否用了 systemd-networkd/NetworkManager 覆盖了 sysctl 配置。
Q6:BBR 能叠加其他优化吗?
A:可以配合 tcp_notsent_lowat、MTU 调整等小优化,但收益递减。先开 BBR,实测后再决定要不要折腾。
七、注意事项
- 先备份:
cp /etc/sysctl.conf /etc/sysctl.conf.bak - 别同时装多个魔改算法:不同算法的模块可能冲突,卸载干净再换
- 云厂商面板控制台:部分厂商(如某些 VPS 面板)的”TCP 优化”选项其实就是在配 BBR,二选一即可
- IPv6 同样适用:BBR 对 IPv6 连接同样生效,无需额外配置
结语
BBR 是 VPS 入门性价比最高的优化:三条命令、零成本、对跨境线路提升明显。开完用 iperf3 实测对比一下,你就知道自己的线路吃满了几成。
如果这篇教程帮到你,欢迎收藏分享;更多 VPS 实用教程和真实测评,关注 DigWall。
站内相关阅读






