搬瓦工开启BBR加速教程
前置准备
- 已购买搬瓦工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 Mbps | 62 Mbps | 约38% |
| 晚高峰20-22点 | 8 Mbps | 25 Mbps | 约213% |
| 单线程下载(白天) | 5.2 MB/s | 7.1 MB/s | 约37% |
| 单线程下载(晚高峰) | 0.9 MB/s | 2.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.04 | 5.15 | 支持 | 部分模板已开启 |
| Ubuntu 20.04 | 5.4 | 支持 | 需手动开启 |
| CentOS 8 Stream | 4.18 | 支持 | 需手动开启 |
| CentOS 7 | 3.10 | 不支持 | 需升级内核 |
| Debian 12 | 6.1 | 支持 | 需手动开启 |
| Debian 11 | 5.10 | 支持 | 需手动开启 |
| AlmaLinux 9 | 5.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记得用最新优惠码省钱。
前往搬瓦工官网购买 VPSBBR加速常见问题
BBR加速效果明显吗?
BBR会影响服务器稳定性吗?
BBR和锐速哪个好?
常见问题
- BBR加速效果明显吗?
- 对于国际线路有明显改善,实测开启BBR后下载速度提升30%-50%,尤其在晚高峰时段效果更显著。但CN2 GIA线路本身已经很快,提升幅度相对小一些。
- BBR会影响服务器稳定性吗?
- 不会。BBR是Google开发的TCP拥塞控制算法,已经内置在Linux内核中,非常稳定可靠。
- BBR和锐速哪个好?
- BBR是内核自带的,稳定免费;锐速是第三方加速软件,效果可能更猛但有兼容性风险。推荐先用BBR,如果效果不满意再考虑锐速。
编辑部
了解更多