服务公告

服务公告 > Linux命令 > 蓝易云cdn:CentOS 8开启bbr教程

蓝易云cdn:CentOS 8开启bbr教程

发布时间:2026-01-18 00:08

下面给你一套在 CentOS 8 / CentOS Stream 8 上启用 TCP BBR 的标准落地方案,目标是让节点在高延迟、跨网、长肥管道场景下把吞吐“拉满”,同时保持可回滚、可验证。🚀


1)先确认内核是否支持 BBR(这是前提)🔍

BBR 需要 Linux 内核支持(CentOS 8 常见内核 4.18 系一般已支持)。

uname -r
sysctl net.ipv4.tcp_available_congestion_control
  • uname -r:确认内核版本
  • tcp_available_congestion_control:查看可用拥塞控制算法列表
    如果输出里包含 bbr,就可以直接进入配置步骤。

2)加载 BBR 模块(有些环境需要显式加载)⚙️

modprobe tcp_bbr
lsmod | grep bbr

说明:

  • modprobe 用于加载内核模块
  • lsmod 能看到 tcp_bbr 则说明模块已加载
    (若内核把 BBR 编译为内建特性,lsmod 未必显示,但不影响启用;以第 4 步验证为准。)

为了确保重启后仍自动加载,可写入模块加载配置:

echo "tcp_bbr" > /etc/modules-load.d/bbr.conf

3)配置系统参数:BBR + fq(推荐组合)✅

BBR 通常建议配合 fq 队列规则(qdisc),更利于发挥调度效果。

编辑 sysctl 配置:

vi /etc/sysctl.d/99-bbr.conf

写入以下两行:

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

立即生效:

sysctl --system

4)验证是否启用成功(以结果为准)✅

sysctl net.ipv4.tcp_congestion_control
sysctl net.core.default_qdisc

期望输出:

  • net.ipv4.tcp_congestion_control = bbr
  • net.core.default_qdisc = fq

再做一次“可用算法确认”(确保不是误配):

sysctl net.ipv4.tcp_available_congestion_control

5)常见选择说明表(帮你做技术决策)📌

项目 推荐值 作用 何时不建议
拥塞控制 bbr 主动估算带宽与 RTT,提高吞吐 极端高丢包链路需先治理丢包
队列规则 qdisc fq 改善队列调度,利于 BBR 发挥 需要特定队列策略时再评估

6)故障排查(两分钟定位)🧯

A. 可用算法里没有 bbr

  • 说明内核不含 BBR 或被裁剪。处理思路:升级内核并重启(企业变更要走窗口与回滚预案)。
dnf update -y kernel
reboot

B. 设置后仍不是 bbr

  • 重点检查是否被其它 sysctl 文件覆盖(优先级问题):
sysctl -a | grep tcp_congestion_control
grep -R "tcp_congestion_control" /etc/sysctl.conf /etc/sysctl.d/*.conf

C. 启用后“体感没变快”🙂
BBR 不是“万能加速按钮”。真正的瓶颈可能在:线路丢包、限速策略、CPU 软中断、网卡队列、应用层连接复用等。建议配合 ss -tiniperf3mtr 做链路与端到端验证。


7)回滚方案(生产必备)🔁

如果你要回退到传统算法(示例 cubic):

sysctl -w net.ipv4.tcp_congestion_control=cubic
sysctl -w net.core.default_qdisc=fq_codel

并修改 /etc/sysctl.d/99-bbr.conf 后再执行:

sysctl --system

如果你方便补充两点:你的节点是国内还是海外、主要用户是否在中国大陆,我可以顺便给你一套更贴近 CDN 场景的“BBR + 队列 + 连接参数”组合建议(强调稳和可控,不玩玄学)。

已经是第一篇啦!

下一篇: 服务器路由命令有哪些常用技巧?