VPS BBR 开启教程
BBR 到底解决了什么问题?
- 高延迟 + 丢包:线路动不动 150ms 延迟、1%-3% 丢包,传统 TCP 拿它没办法。
- 站点卡顿:WordPress 后台开个媒体库要等十几秒,上传个 200MB 包直接超时。
- 流媒体/代理掉速:XX 默认配置跑到 20Mbps 就开始抖,特别是 1C1G 的低配机,CPU 还没到瓶颈,网络已经趴了。
BBR 的逻辑是自己测 RTT 和带宽,不靠丢包推测拥塞,所以能把速度拉满。
启用之前先检查内核
- 看系统内核:
uname -r,建议 5.4 以上。 - 确认内核里有 BBR:
输出里必须包含sysctl net.ipv4.tcp_available_congestion_controlbbr或bbr2。 - 云厂商带的 4.x 内核如果不满足,直接装
linux-image-generic-hwe-22.04这种新内核,重启一次。
Ubuntu / Debian 三步开启 BBR
下面以 Ubuntu 22.04、Debian 12 为例:
sudo apt update && sudo apt install -y --no-install-recommends ca-certificates
# 1. 确保系统已经加载 tcp_bbr 模块
sudo modprobe tcp_bbr
# 2. 写入 sysctl 配置
cat <<'CFG' | sudo tee /etc/sysctl.d/90-bbr.conf
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
CFG
# 3. 应用并验证
sudo sysctl --system
sysctl net.ipv4.tcp_congestion_control
如果最后一行返回 bbr,就成功了。老旧内核没有 fq 队列的话可以换成 fq_codel,但还是建议升级内核。
CentOS Stream / AlmaLinux 做法
sudo yum update -y
sudo grubby --update-kernel=ALL --args="net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr"
sudo reboot
重启后再跑 sysctl net.ipv4.tcp_congestion_control,显示 bbr 即可。如果还是 cubic,大概率是主机商提供的内核包没启用 BBR,需要自己编译或者换成 ELRepo 的 mainline 内核。
BBR2、BBR Plus 要不要开?
- BBR2:内核 5.15+ 自带,跨洋线路晚高峰表现更稳。我在新加坡节点测过,BBR2 比 BBR 多 5%-8% 吞吐,但 CPU 占用稍高。
- BBR Plus/BBR 魔改版:部分脚本会装这个,确实更凶猛,但也更容易被运营商判定成异常流量。生产站点还是用官方版本稳妥。
切 BBR2 很简单:
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr2
记得改完要持久化到 /etc/sysctl.d/90-bbr.conf。
怎么确认真的生效?
本地测速:
apt install iperf3
dnf install iperf3
iperf3 -c speedtest1.serverius.net -p 5002 -P 10 -4
对比 BBR 前后的平均吞吐。
常见坑位排查
sysctl报错 unknown key:说明内核不支持 fq 或 bbr,先升级。- 开启后延迟飙升:80% 情况是服务器同时跑了多条代理,带宽被榨干。给每个进程限速或者加上 QoS。
- 面板改了又被覆盖:宝塔/aaPanel 会生成自己的 sysctl,记得把 BBR 配置写在
/etc/sysctl.d/,不要只改/etc/sysctl.conf。 - 流媒体播放仍旧卡顿:BBR 只能优化 TCP,下行依赖用户端网络,如果用户是移动 4G,还是会慢,用 HLS + 分辨率自适应更靠谱。
什么时候不建议开?
- 机房本来就有 QoS,限制单 IP 速度 50Mbps,开了 BBR 也突破不了。
- 运行非常敏感的低延迟业务(比如 高频交易),BBR 的排队策略可能带来多 5-10ms 延迟。
- IPv6-only VPS,用的是 QUIC/HTTP3,为主流浏览器服务,BBR 无效,需要调
quic参数。
本文来自博客园,作者:木子欢儿,转载请注明原文链接:https://www.cnblogs.com/HGNET/p/19729155

浙公网安备 33010602011771号