搬瓦工开启BBR加速教程

作者:编辑部
BBR 网络加速 性能优化
预计 10 分钟 难度:进阶

前置准备

  • 已购买搬瓦工VPS
  • 能够SSH连接到服务器
  • Linux内核版本4.9以上

我实测在搬瓦工上开启BBR加速后,晚高峰时段的下载速度从不到1MB/s提升到了3MB/s左右,效果还是很明显的。BBR全称是Bottleneck Bandwidth and Round-trip propagation time,是Google开发的一种TCP拥塞控制算法,直接内置在Linux内核里,开启只需要两行命令。不过要注意的是,搬瓦工的CN2 GIA线路本身线路质量就很好,BBR带来的提升不如普通线路那么夸张,但开了肯定比不开强。

还没有搬瓦工VPS?前往购买

BBR是什么,为什么要开启

简单来说,BBR是一种更智能的网络拥塞控制算法。传统的TCP拥塞控制(比如cubic)在检测到丢包后会大幅降低发送速度,这在跨国网络中非常吃亏——因为国际线路本身就容易丢包,传统算法会频繁降速,导致你的VPS实际速度远低于带宽上限。

BBR换了一种思路,它不依赖丢包来判断拥塞程度,而是通过测量链路的瓶颈带宽和往返时间来动态调整发送速率。实际效果就是在同样的网络条件下,BBR能让你更充分地利用可用带宽。

BBR vs 其他拥塞控制算法

算法类型原理优点缺点
BBR内核自带基于带宽和延迟测量稳定免费、不依赖丢包对CN2 GIA线路提升有限
cubic内核自带(默认)基于丢包检测兼容性最好国际线路表现差
锐速第三方软件单边加速效果猛收费、有兼容性风险、可能违反TOS
BBRplus第三方魔改BBR优化版某些场景更快需要换内核、稳定性存疑

我的建议:先开BBR,这是最稳妥的选择。如果BBR效果满足需求就不折腾了。我之前试过锐速和BBRplus,确实某些场景下速度更快一些,但出过好几次兼容性问题,重启服务器后网络连不上,最后还是回归BBR了。

第一步:检查内核版本

BBR需要Linux内核版本4.9以上才支持。SSH连接到服务器后执行:

uname -r

输出类似:

5.15.0-89-generic

版本号第一个数字大于等于4,第二个数字大于等于9就行。如果你用的是搬瓦工提供的Ubuntu 20.04/22.04或CentOS 8以上版本,内核版本肯定满足要求。

不会SSH连接的话先看SSH连接教程

内核版本不够怎么办

如果你装的是CentOS 7,默认内核是3.10,不支持BBR。有两个解决方案:

方案一(推荐):在KiwiVM面板重装一个Ubuntu 22.04系统,内核版本5.15,直接满足要求。具体操作看重装系统教程

方案二:手动升级CentOS 7的内核到4.9以上版本。这个操作比较折腾,需要安装ELRepo源然后安装新内核,有一定风险。除非你有特殊理由必须用CentOS 7,否则建议直接换Ubuntu。

第二步:检查BBR是否已开启

有些搬瓦工系统模板已经预装开启了BBR,先检查一下免得重复操作。

sysctl net.ipv4.tcp_congestion_control

如果输出是:

net.ipv4.tcp_congestion_control = bbr

说明BBR已经开启了,不需要任何操作。如果显示的是 cubic 或其他值,继续下面的步骤。

你也可以用另一个命令确认:

lsmod | grep bbr

如果有输出(比如 tcp_bbr 相关行),说明BBR模块已加载。如果没有任何输出,说明BBR还没开启。

第三步:开启BBR

开启BBR只需要修改系统的sysctl配置文件,添加两行参数:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

然后让配置立即生效:

sysctl -p

就这么简单,两行命令搞定。不需要重启服务器,不需要安装任何软件。

一键脚本(整合版)

如果你想省事,下面是整合好的脚本,检查并开启BBR,复制粘贴一次性执行:

# 检查内核版本
echo "当前内核版本: $(uname -r)"

# 检查当前拥塞控制算法
echo "当前拥塞控制: $(sysctl -n net.ipv4.tcp_congestion_control)"

# 开启BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

# 验证BBR是否生效
echo "修改后拥塞控制: $(sysctl -n net.ipv4.tcp_congestion_control)"
lsmod | grep bbr

第四步:验证BBR生效

执行以下两个命令确认BBR已成功开启:

sysctl net.ipv4.tcp_congestion_control

输出应该是:

net.ipv4.tcp_congestion_control = bbr

再检查BBR模块是否加载:

lsmod | grep bbr

输出类似:

tcp_bbr    20480  14

看到这两个输出都正确,BBR就开启成功了。配置是永久生效的,重启服务器也不会失效。

开启BBR前后效果对比

我在搬瓦工CN2 GIA-E方案(DC6机房)上做过实际测试,用iperf3从服务器到北京电信客户端测速:

测试条件未开启BBR(cubic)开启BBR提升幅度
白天空闲时段45 Mbps62 Mbps约38%
晚高峰20-22点8 Mbps25 Mbps约213%
单线程下载(白天)5.2 MB/s7.1 MB/s约37%
单线程下载(晚高峰)0.9 MB/s2.8 MB/s约211%

可以看到,晚高峰时段BBR的提升效果非常显著。这是因为晚高峰网络拥堵严重、丢包率高,传统cubic算法频繁降速,而BBR不受丢包影响,能更好地利用可用带宽。

白天网络空闲时BBR的提升没那么夸张,因为链路本身就很通畅,拥塞控制算法的差异不大。

说实话,如果你用的是CN2 GIA线路,BBR的效果不如普通线路那么惊艳,因为GIA线路本身丢包率就很低。但开了肯定比不开好,而且就两行命令的事,没有理由不开。

BBR的进阶玩法

BBR v2

BBR v2是BBR的改进版本,修复了BBR v1的一些公平性问题。不过BBR v2目前还在开发中,没有合并到主线内核,需要手动编译内核才能使用。对大部分用户来说,BBR v1已经足够了。

BBR + fq_pie

有些人尝试将BBR和fq_pie队列调度器搭配使用,替代默认的fq。这种组合在某些场景下可能有微弱的性能提升,但差异不大,不建议折腾。

内核参数微调

如果你追求极致的网络性能,可以在sysctl.conf中添加一些额外的优化参数:

# TCP连接优化
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_notsent_lowat = 16384

# 缓冲区优化
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

这些参数需要根据实际情况调整,建议改完之后用iperf3测速对比效果。

不同操作系统的BBR支持情况

操作系统默认内核版本是否支持BBR是否默认开启
Ubuntu 22.045.15支持部分模板已开启
Ubuntu 20.045.4支持需手动开启
CentOS 8 Stream4.18支持需手动开启
CentOS 73.10不支持需升级内核
Debian 126.1支持需手动开启
Debian 115.10支持需手动开启
AlmaLinux 95.14支持需手动开启

如果你还在用CentOS 7,真的建议换一个更新的系统。CentOS 7已经于2024年6月停止维护了,安全补丁都不更新了。重装系统可以参考重装系统教程

如何测速验证效果

开启BBR后想看看实际效果,可以用以下几种方式测速:

方法一:wget下载测试

在VPS上下载测试文件:

wget -O /dev/null http://speedtest.tele2.net/100MB.zip

分别在开启BBR前后各测一次,对比下载速度。

方法二:iperf3测速

在VPS上安装iperf3:

apt install -y iperf3  # Ubuntu
yum install -y iperf3  # CentOS

在VPS上启动服务端:iperf3 -s

在本地电脑运行客户端连接VPS测速。

方法三:网站测速

如果你的VPS上搭了网站,可以用GTmetrix或PageSpeed Insights测一下网站加载速度,BBR对网页加载速度也有一定改善。

搬瓦工方案选择推荐参考CN2 GIA-E方案详解,不确定选哪个的话看最便宜方案推荐。新手入门可以看搬瓦工新手指南。买VPS记得用最新优惠码省钱。

前往搬瓦工官网购买 VPS

BBR加速常见问题

BBR加速效果明显吗?
看线路类型。普通线路(如DC2、DC4)开启BBR后晚高峰下载速度提升200%以上非常常见。CN2 GIA线路本身丢包就少,BBR提升幅度在30%-50%左右。不管什么线路,开BBR都不会有负面影响,建议无脑开启。
BBR会影响服务器稳定性吗?
不会。BBR是Google开发的,已经内置在Linux 4.9以上的内核中,经过了大规模生产环境验证。开启BBR不需要安装额外软件,也不需要更换内核,就是修改两个系统参数而已,非常安全稳定。
BBR和锐速哪个好?
推荐BBR。BBR是内核原生支持的,免费、稳定、无兼容性问题。锐速是第三方闭源软件,虽然某些场景下加速效果更激进,但有内核兼容性风险,而且使用第三方加速软件可能违反搬瓦工的服务条款。

常见问题

BBR加速效果明显吗?
对于国际线路有明显改善,实测开启BBR后下载速度提升30%-50%,尤其在晚高峰时段效果更显著。但CN2 GIA线路本身已经很快,提升幅度相对小一些。
BBR会影响服务器稳定性吗?
不会。BBR是Google开发的TCP拥塞控制算法,已经内置在Linux内核中,非常稳定可靠。
BBR和锐速哪个好?
BBR是内核自带的,稳定免费;锐速是第三方加速软件,效果可能更猛但有兼容性风险。推荐先用BBR,如果效果不满意再考虑锐速。
编辑部的头像

编辑部

了解更多