在玩 VPS 的圈子里,流传着这样一句话:"买完 VPS 的第一件事,就是开启 BBR。"

如果你发现你的服务器带宽明明很大,本地延迟也不算高,但下载速度就是上不去,看视频总是转圈圈,那么 90% 的概率是因为你没有开启 TCP BBR

今天,我们就来深度聊聊这个能让服务器速度倍增的神器。


一、 为什么你的带宽被"浪费"了?

在进入正题前,我们要先理解一个概念:拥塞控制算法

互联网传输数据就像公路运输。当路面出现拥塞时,如果司机还在拼命往里塞车,整条路就会瘫痪。TCP 协议为了防止这种情况,设计了"拥塞控制算法"。

传统算法的弊端:

传统算法(如 Cubic)采用基于丢包的被动式拥塞控制:一旦检测到丢包,就会大幅降低发送速率,然后缓慢恢复。但在跨境网络(如访问海外 VPS)中,丢包往往不是因为拥堵,而是因为线路质量本身的波动(信号干扰或过滤)。

这就导致了一个尴尬的局面: 管道其实还没满,但因为偶尔的丢包,传统算法吓得不敢发货,你的带宽自然跑不满。


二、 BBR 是什么?它是如何"起死回生"的?

BBR (Bottleneck Bandwidth and Round-trip propagation time) 是 Google 在 2016 年开源的拥塞控制算法。它通过实时测量瓶颈带宽 (BtlBw)最小往返传播时延 (RTprop) 来优化传输速度。

如果说传统算法是"看到丢包就刹车"的胆小司机,那么 BBR 就是一位"经验丰富的老司机"

  1. 它不以丢包为唯一判据: 通过主动探测带宽和时延,而非被动等待丢包信号。
  2. 高效利用带宽: 即使线路存在一定程度的丢包(比如 5%-10%),BBR 依然能保持极高的吞吐量。
  3. 更低的延迟: 它能有效减少路由器缓存区的堆积,从而降低网络抖动。

一句话总结:BBR 能够在恶劣的网络环境下,更高效地利用你的带宽资源。

典型提升场景:

  • 高延迟环境(>100ms RTT):提升 2-5 倍
  • 丢包率 5%-10% 的线路:提升 3-10 倍
  • 低延迟、低丢包环境:提升有限(<20%)

三、 开启前准备:你的 VPS 支持吗?

在动手之前,请先确认你的 VPS 架构:

  • KVM / Xen / VMware: 完美支持,你可以自由更换系统内核。
  • OpenVZ / LXC: 通常不支持(除非服务商在母机开启了 BBR)。

目前主流的 Linux 发行版(如 Debian 9+、Ubuntu 18.04+、CentOS 8+)都已经内置了较新版本的内核。BBR 需要 Linux 4.9+ 内核,你可以用 uname -r 命令查看当前内核版本。


四、 实战教程:如何开启 BBR?

方法 1:官方原生开启法(最稳妥,推荐)

如果你的系统是 Debian 10/11/12Ubuntu 20.04/22.04 等较新版本,内核通常已经在 4.9 以上,无需安装任何脚本,直接执行以下三行命令即可:

# 1. 将 BBR 配置写入系统变量
echo "net.core.default_qdisc=fq" | sudo tee /etc/sysctl.d/99-bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.d/99-bbr.conf

# 2. 重启使配置生效
sudo sysctl --system
sudo reboot

方法 2:一键脚本开启法(适用于旧系统或追求极致)

如果你的系统内核较旧(如 CentOS 7),或者你想安装更加激进的 BBRplus(魔改版),可以使用社区开发的"四合一"脚本。

在 SSH 终端输入:

wget -N --no-check-certificate "https://github.com/chiakge/Linux-NetSpeed/raw/master/tcp.sh" && sudo bash ./tcp.sh

注意: 这是第三方维护的脚本,虽然在社区中广泛使用,但使用前建议查看脚本源码(cat tcp.sh)或优先使用官方方法。

操作提示:

  1. 运行后根据菜单选择"安装内核"(通常建议选择 BBRplus)。
  2. 安装完成后,脚本会提示你重启服务器
  3. 重启后重新运行 ./tcp.sh,选择"开启加速"即可。

五、 如何验证 BBR 是否生效?

开启成功后,输入以下命令进行验证:

# 查看当前正在使用的拥塞控制算法
sudo cat /proc/sys/net/ipv4/tcp_available_congestion_control

如果输出结果包含 bbr 字样,说明你已经成功起飞!

此外,你还可以通过以下命令查看更多信息:

# 查看当前可用的拥塞控制算法
sudo sysctl net.ipv4.tcp_available_congestion_control

# 查看 BBR 模块是否在运行
sudo lsmod | grep bbr

六、 BBRplus 和 BBRv3 有什么区别?

有些小伙伴会问,脚本里那么多版本怎么选?

  • BBR (官方版): 最稳定,兼容性最好。适合大部分生产环境。
  • BBRplus: 网友修改的激进版本,在丢包严重的线路上抢包能力更强。但它可能会占用过多带宽资源,在共享带宽环境下可能影响同机房其他用户,部分服务商可能禁止使用。
  • BBRv3: Google 最新的优化版本,进一步平衡了吞吐量和公平性。

站长建议: 如果是个人爬墙或看视频,BBRplus 的体感提升往往最明显;如果是运行重要的网站业务,原生 BBR 是首选。


七、 结语与注意事项

开启 BBR 能让你的 VPS 更高效地利用带宽资源。对于跨境链路来说,它能带来的提升往往是几倍甚至十几倍的。

⚠️ 最后的温馨提示:
更换内核(尤其是使用一键脚本)属于高风险操作。虽然现在的脚本已经非常成熟,但依然有极小概率导致服务器无法启动。在操作前,请务必执行快照备份或者确保重要数据已同步。


希望这篇文章能帮你解决 VPS 速度慢的难题!如果你觉得有用,请点个"在看"支持一下吧!