VPS 开启 BBR 教程:什么是 BBR、原理与一键开启,看完这篇就够了

买完 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 的思路完全不同:不把丢包当减速信号,而是直接测量链路的两个物理参数

  1. BtlBw(瓶颈带宽):链路能承载的最大传输速率——用”窗口内最大交付速率”来估算
  2. 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,实测后再决定要不要折腾。


七、注意事项

  1. 先备份cp /etc/sysctl.conf /etc/sysctl.conf.bak
  2. 别同时装多个魔改算法:不同算法的模块可能冲突,卸载干净再换
  3. 云厂商面板控制台:部分厂商(如某些 VPS 面板)的”TCP 优化”选项其实就是在配 BBR,二选一即可
  4. IPv6 同样适用:BBR 对 IPv6 连接同样生效,无需额外配置

结语

BBR 是 VPS 入门性价比最高的优化:三条命令、零成本、对跨境线路提升明显。开完用 iperf3 实测对比一下,你就知道自己的线路吃满了几成。

如果这篇教程帮到你,欢迎收藏分享;更多 VPS 实用教程和真实测评,关注 DigWall。


站内相关阅读

上一篇 DMIT 洛杉矶 Tier 1 VPS 测评:AMD EPYC 国际路由,$36.9/年起的无优化之选
下一篇 物理服务器、VPS、云服务器、虚拟主机有什么区别?服务器类型完全科普