CentOS 启用 BBR 内核 TCP 加速算法

Eric 教程 233 次浏览 抢沙发

BBR 是由 Google 开发的 TCP 拥塞控制算法,属于单边网络加速方式。其在 Linux 内核 4.9 版本开始被加入,较之其它流行算法,BBR 提供更高网络吞吐量和降低延迟。

由于 CentOS 默认内核版本低,开启 BBR 需要先升级系统内核。更新后如果查询内核版本是 4.1x 或 4.2x 也是支持 BBR 的,上面说的内核 4.9 版本最低要求实际是 4.09。

确保内核版本满足要求后,检查是否已设置加载 tcp_bbr 模块。

lsmod | grep bbr

没有返回内容的话,手动设置加载 tcp_bbr 模块。

modprobe tcp_bbr
echo "tcp_bbr" | tee --append /etc/modules-load.d/modules.conf

将配置写入系统文件并更新。如果之后要关闭 BBR,将命令中的 fq 改为 cubic,bbr 改为 pfifo_fast。

echo "net.core.default_qdisc = fq" | tee --append /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" | tee --append /etc/sysctl.conf
sysctl -p

reboot 重启系统(非必需),用下面命令验证 BBR 状态,输出结果类似下面就表示已启用。

# 查询内核可用拥塞控制算法
[[email protected] ~]# sysctl -n net.ipv4.tcp_available_congestion_control
reno cubic bbr

# 查询内核当前拥塞控制算法
[[email protected] ~]# sysctl -n net.ipv4.tcp_congestion_control
bbr

# 查询系统是否加载 BBR 模块
[[email protected] ~]# lsmod | grep bbr
tcp_bbr                20480  6

如果想测试 BBR 加速效果,除了实际使用,还可以用 Linux 内核自带的 tc 工具模拟网络环境,在设置不同丢包率、延迟情况下测试。

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。