最近玩 VPS 的小伙伴越来越多,特别是在折腾一些低价的洛杉矶(LA)节点时,经常会遇到一个经典问题:这机器到底是用 BBR 还是 Cubic 好?

VPS网络拥堵示意图,展示数据包传输与网络速度的关系

网络拥堵控制示意图:选择正确的拥塞控制算法能显著提升 VPS 数据传输速度。

其实这个问题看似简单,背后却藏着不少网络优化的细节。选对了,速度起飞;选错了,可能就只有“龟速”了。今天咱们就抛开晦涩的论文,用大白话聊聊这两个算法到底该怎么选,以及怎么动手换。

一、 BBR 和 Cubic 到底是啥?

简单粗暴地理解,它们就是 Linux 内核里用来管理“网络堵车”的策略。当你从服务器下载数据时,数据包就像高速公路上的车子。如果车子发得太快,路就堵死了(丢包);发得太慢,带宽又浪费了。

  • Cubic(老黄牛): 这是 Linux 很多版本(特别是老内核)的默认算法。它的逻辑比较保守,一旦发现丢包,就认为是路堵了,马上减速。这就好比开车时看到前面刹车灯亮了,你也赶紧踩刹车。在以前网络环境差、丢包率高的时候,它很稳;但在现在的高带宽低延迟网络里,它就显得过于谨慎,往往跑不满带宽。

  • BBR(激进派): Google 开源的网红算法。它不看丢包率,而是专注于“带宽”和“延迟”。它会时刻探测这条路到底能跑多快,然后尽量塞满。这就好比老司机开车,不管前面堵不堵,只要有空隙就往前挤。在很多现代网络(尤其是连接海外服务器)中,BBR 的表现通常比 Cubic 强很多,特别是高延迟链路。

二、 实战场景分析:该听谁的?

回到最初的问题,既然是洛杉矶(LA)这类机房,通常面对的是跨境线路。这种线路的特点是延迟高、偶尔会有丢包。

  • 物理链路好、直连线路: 哪怕是 Cubic 可能也能跑满,但 BBR 往往能带来更低的延迟抖动,看视频或玩游戏会更稳。
  • 拥堵线路(如晚高峰): Cubic 一遇到丢包就跳水,速度可能瞬间从 10MB/s 掉到几百 KB。而 BBR 能在丢包环境下维持较高的吞吐量,体验明显优于 Cubic。

所以,结论很明确:对于绝大多数追求速度的海外 VPS 用户,直接上 BBR 就完事了。当然,BBR 也有很多版本(v1, v2, 甚至是魔改版),但原版 BBR 通常已经足够稳定且有效,除非你是极客玩家,否则不建议盲目乱刷魔改版,容易导致不稳定。

三、 怎么看 VPS 现在用的啥?

别光听商家吹,自己动手验一下才是硬道理。SSH 登录你的服务器,输入下面这行命令:

sysctl net.ipv4.tcp_congestion_control
``

如果输出是 `net.ipv4.tcp_congestion_control = bbr`,那恭喜你,已经是 BBR 了。如果是 `cubic`,那就说明还在用老策略。

![终端显示 tcp_congestion_control 参数的输出结果](/media-load/019f0eb4-22e7-7bcf-81d0-b0d2424df2ef)

*在终端中执行 sysctl 命令查看当前拥塞控制算法。*

### 四、 动手教程:无痛切换到 BBR

如果你发现还是 Cubic,也不用慌,切过去非常简单。前提是你的内核版本稍微新一点(Linux Kernel 4.9+),现在的 VPS 商家基本都满足这个条件。

**1. 修改配置文件**

编辑 `/etc/sysctl.conf` 文件(如果没有就新增):

```bash
vi /etc/sysctl.conf
``

在文件末尾添加以下两行内容:

```conf
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

2. 保存并应用配置

保存退出后,执行命令让配置立即生效:

sysctl -p
``

**3. 再次验证**

再运行一次上面的查看命令,输出结果变成 `bbr` 就搞定了!此时你可以去测个速,晚高峰的时候应该能明显感觉到速度的提升。

### 五、 总结

对于网络调优,很多时候“因地制宜”最重要。但在绝大多数 VPS 场景下,尤其是面向国内用户的海外节点,**BBR 几乎是完胜 Cubic 的**。如果你从来没有折腾过这个问题,不妨现在就去检查一下,或许你的 VPS 还有隐藏的加速空间没被发掘出来!

标签: none

评论已关闭