在 VPS 优化教程中,Google BBR 是经常会提到的一项设置。它是一种 TCP 拥塞控制算法,主要用于改善高延迟、长距离传输和存在丢包时的网络表现。很多用户安装服务器系统后,都会先检查系统是否支持 BBR,再决定是否需要开启。
早期使用 CentOS 7 时,想要开启 BBR,往往需要升级内核,而 CentOS 8 发布后,系统内核已经包含 TCP BBR,。不过,内核支持 BBR 就说明服务器安装完成后已经使用了 BBR 加速。
本文介绍 CentOS 8 开启 BBR 的完整方法,包括检查内核、查看当前拥塞控制算法、写入配置、确认是否生效以及解决常见问题。同时也会说明 CentOS 8 停止维护后,搬瓦工 VPS 应该选择什么系统。
一、CentOS 8 自带 BBR 吗
CentOS 8 使用 4.18 系列内核,内核中已经包含 TCP BBR。与早期的 CentOS 7 相比,CentOS 8 不需要为了使用 BBR 而升级第三方内核,也不需要运行更换内核的一键脚本。
更早的 CentOS 6 系统想使用锐速等网络优化工具,还需要修改系统内核,操作步骤和出错风险都比现在高,而 CentOS 8 已经具备 BBR 支持,不需要再沿用这类旧系统的处理方法。
不过,系统内核包含 BBR,只说明它已经具备了使用条件。CentOS 8 安装完成后,默认拥塞控制算法可能还是 CUBIC,需要修改系统参数才能切换为 BBR。
因此,查看系统版本并不能确认 BBR 是否开启,还要检查服务器当前使用的拥塞控制算法。
二、CentOS 8 开启 BBR 前检查系统
修改配置前,先查看内核版本、系统支持的算法以及当前使用的算法。
1、查看 CentOS 8 内核版本
通过 SSH 登录服务器,执行下面的命令:
uname -r
CentOS 8 会显示类似下面的结果:
4.18.0-xxx.el8.x86_64
版本号中的数字会随着系统更新发生变化,在使用 CentOS 8 官方内核时,不需要为了开启 BBR 安装其他内核。
2、查看系统支持的拥塞控制算法
执行下面的命令:
sysctl net.ipv4.tcp_available_congestion_control
如果结果中包含 bbr,说明系统已经加载 BBR 模块。
如果只看到 reno 和 cubic,可能是 tcp_bbr 模块尚未加载,可以继续按照下一节操作。
3、查看当前使用的拥塞控制算法
执行下面的命令:
sysctl net.ipv4.tcp_congestion_control
如果显示下面的结果,说明服务器还没有使用 BBR:
net.ipv4.tcp_congestion_control = cubic
如果显示的是 bbr,可以跳过第三节,进入第四节检查队列规则和内核模块。
三、CentOS 8 开启 Google BBR
下面先加载 tcp_bbr 模块,再通过独立配置文件保存相关参数,避免把多次修改的内容全部堆在 /etc/sysctl.conf 中。
1、加载 tcp_bbr 模块
执行下面的命令:
modprobe tcp_bbr
命令执行后没有显示内容,就说明模块已经完成加载。
接着再执行下面的命令,让系统开机时自动加载该模块:
echo "tcp_bbr" > /etc/modules-load.d/bbr.conf
2、写入 BBR 配置
执行下面的完整命令:
cat > /etc/sysctl.d/99-bbr.conf << 'EOF'
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
EOF
net.core.default_qdisc = fq 用于设置默认队列规则,net.ipv4.tcp_congestion_control = bbr 用于把 TCP 拥塞控制算法切换为 BBR。
3、重新加载系统参数
执行下面的命令:
sysctl --system
终端会显示系统读取的配置文件和参数,如果没有出现参数不存在、格式错误或权限不足等提示,就可以继续验证配置结果。
四、如何检查 BBR 是否开启
依次执行下面三条命令:
sysctl net.ipv4.tcp_congestion_control
sysctl net.core.default_qdisc
lsmod | grep bbr
配置正常时,会看到类似下面的结果:
net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq
tcp_bbr
tcp_congestion_control = bbr:服务器当前使用 BBR。default_qdisc = fq:默认队列规则已经设置为 FQ。tcp_bbr:BBR 内核模块已经加载。
检查 BBR 时,最重要的是第一条结果,如果模块列表中出现 tcp_bbr,但当前算法仍然显示 cubic,说明模块已经加载,拥塞控制算法却没有切换成功。
五、CentOS 8 BBR 加速能提高多少速度
CentOS 8 BBR 加速主要改变 TCP 传输时的拥塞控制方式。它会根据线路带宽和往返时间调整数据发送速度,在高延迟、长距离传输或存在一定丢包的网络中,可能改善传输速度和连接稳定性。
如果您当前使用的线路本身拥堵、晚高峰丢包严重,或者本地宽带质量较差,开启 BBR 后也可能看不到明显变化。
在测试前后效果时,应使用同一台服务器、同一网络和相近的测试时间。可以对比文件下载速度、跨地区传输速度或 iperf3 测试结果。
六、CentOS 8 停止维护后应该选择什么系统
CentOS Linux 8 已于 2021 年 12 月 31 日停止维护,不再获得官方安全补丁和软件包更新。本文保留 CentOS 8 开启 BBR 的方法,是为了帮助仍在使用旧服务器的用户处理配置,并不建议重新安装 CentOS 8。
1、还在使用 CentOS 8 怎么办
如果服务器只用于临时测试,并且不保存重要数据,可以先完成备份和迁移准备。用于网站、数据库、管理面板或其他对外服务的服务器,应尽快更换到仍在维护的系统。
更换系统前要先保存网站文件、数据库和重要配置,搬瓦工用户可以参考:搬瓦工 VPS 备份教程,根据数据用途选择自动备份、快照或宝塔异地备份,避免重装系统后无法恢复数据。
Debian、Ubuntu、Rocky Linux 和 AlmaLinux 都能使用 TCP BBR,没有必要为了 BBR 继续保留 CentOS 8。
更换到其他 Linux 系统后,可以参考:Linux 服务器开启 Google BBR 加速教程,查看 Debian、Ubuntu、Rocky Linux 和 AlmaLinux 的检查与开启方法,以及 BBR、锐速和 BBR LKL 的区别。
2、搬瓦工重装系统时怎么选择
准备重装搬瓦工 VPS 时,可以在后台 KiwiVM 管理面板的 Install new OS 页面查看当前提供的系统。搭建网站、运行 Docker 或安装常见服务器软件,可以选择 Debian 12、Debian 13、Ubuntu 24.04 或 Ubuntu 26.04。
如果需要使用接近原 CentOS 的软件包管理方式和目录结构,可以选择 Rocky Linux 9 或 AlmaLinux 9。安装更高版本前,应先确认建站面板、安装脚本和需要运行的软件是否支持。
关于各个系统的区别,可以查看:搬瓦工 VPS 操作系统选择教程,根据软件兼容、维护周期和使用习惯选择。
七、BBR 常见问题和关闭方法
遇到 BBR 没有生效、重启后恢复成 CUBIC 或配置发生冲突时,可以按照下面的顺序检查。
1、可用算法中没有 bbr
先执行:
modprobe tcp_bbr
再重新查看可用算法:
sysctl net.ipv4.tcp_available_congestion_control
如果结果中仍然没有 bbr,执行下面的命令查看内核版本:
uname -r
内核过旧、使用自定义内核或 VPS 虚拟化环境受限,都可能造成 BBR 模块无法加载。不要在没有查清原因的情况下运行来历不明的换内核脚本。
2、当前算法仍然显示 cubic
查看配置文件内容:
cat /etc/sysctl.d/99-bbr.conf
确认文件中包含下面两行:
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
然后重新加载系统参数:
sysctl --system
执行完成后,再查看当前算法:
sysctl net.ipv4.tcp_congestion_control
3、系统中存在重复配置
以前运行过 BBR 一键脚本的服务器,可能已经在多个文件中写入相同参数。
可以执行下面的命令搜索:
grep -R "tcp_congestion_control" /etc/sysctl.conf /etc/sysctl.d/ 2>/dev/null
grep -R "default_qdisc" /etc/sysctl.conf /etc/sysctl.d/ 2>/dev/null
如果不同文件中同时出现 cubic 和 bbr,需要保留一份正确配置,并删除重复或冲突的内容。
4、重启后恢复成 cubic
查看开机加载文件和系统参数文件:
cat /etc/modules-load.d/bbr.conf
cat /etc/sysctl.d/99-bbr.conf
第一个文件负责开机加载 tcp_bbr 模块,第二个文件负责保存 BBR 参数。当文件不存在或内容错误,都会造成重启后配置没有生效。
5、如何关闭 BBR
需要恢复 CUBIC 时,先删除本文创建的两个配置文件:
rm -f /etc/sysctl.d/99-bbr.conf
rm -f /etc/modules-load.d/bbr.conf
再把当前拥塞控制算法切换为 CUBIC:
sysctl -w net.ipv4.tcp_congestion_control=cubic
最后重启服务器:
reboot
重新连接 SSH 后,执行下面的命令确认:
sysctl net.ipv4.tcp_congestion_control
显示 cubic,说明服务器已经关闭 BBR。
八、总结
CentOS 8 可以在不更换第三方内核的情况下开启 Google BBR,已有服务器可以按照本文完成检查和设置;准备重装系统时,应选择仍在维护的 Debian、Ubuntu、Rocky Linux 或 AlmaLinux。
需要重装搬瓦工 VPS,可以参考:搬瓦工 KiwiVM 一键重装 Linux 系统教程,重装会清除服务器中的原有数据,操作前要先完成备份。
| 套餐 | CPU | 内存 | 硬盘 | 流量 | 带宽 | 机房 | 价格 | 购买 |
|---|---|---|---|---|---|---|---|---|
| KVM (最便宜) | 2核 | 1GB | 20GB | 1TB | 1Gbps | 9个 | $49.99/年 | 立即选购 |
| 3核 | 2GB | 40GB | 2TB | 1Gbps | 9个 | $52.99/半年 | 立即选购 | |
| CN2 GIA-E (最推荐) | 2核 | 1GB | 20GB | 1TB | 2.5Gbps | 15个 | $49.99/季度 | 立即选购 |
| 3核 | 2GB | 40GB | 2TB | 2.5Gbps | 15个 | $89.99/季度 | 立即选购 | |
| SLA (SLA 保障) | 2核 | 1GB | 20GB | 1TB | 2.5Gbps | 1个 | $65.89/季 | 立即选购 |
| 3核 | 2GB | 40GB | 2TB | 2.5Gbps | 1个 | $116.99/季 | 立即选购 | |
| 香港 (高端) | 2核 | 2GB | 40GB | 0.5TB | 1Gbps | 15个 | $89.99/月 | 立即选购 |
| 4核 | 4GB | 80GB | 1TB | 1Gbps | 15个 | $155.99/月 | 立即选购 | |
| 大阪 (高性价比) | 2核 | 2GB | 40GB | 0.5TB | 1.5Gbps | 15个 | $49.99/月 | 立即选购 |
| 4核 | 4GB | 80GB | 1TB | 1.5Gbps | 15个 | $86.99/月 | 立即选购 | |
选择建议 入门使用KVM 套餐价格最低,适合建站、学习 Linux、简单测试和预算有限的新手用户。 综合推荐CN2 GIA-E 套餐线路更好、可选机房更多,适合长期使用,也是多数用户优先考虑的方案。 高端需求香港、东京、大阪等高端线路价格更高,适合对国内访问速度、低延迟和稳定性要求较高的用户。 |
||||||||
套餐汇总:搬瓦工在售方案汇总 | 购买教程:搬瓦工注册与购买教程 | 优惠码:最新搬瓦工优惠码 |
||||||