CentOS7 开启BBR拥塞控制算法
BBR (Bottleneck Bandwidth and Round-trip propagation time) 是由Google设计的现代TCP拥塞控制算法。旨在更有效利用网络带宽,减少传输延迟,改善网络连接质量,尤其在存在一定丢包的高延迟链路上效果显著。
环境要求
在CentOS 7上启用BBR需要满足条件:
- 内核版本 ≥ 4.9(CentOS 7默认内核不满足要求,需升级)
- 具备管理员(root)权限
操作步骤
1. 检查当前内核及拥塞算法
uname -r
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
默认输出通常为 `net.ipv4.tcp_congestion_control = cubic`。
2. 升级系统内核
添加ELRepo仓库并安装主线内核:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y
3. 设置GRUB默认启动新内核
grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg
重启服务器使新内核生效:reboot
4. 验证新内核并启用BBR
重启后确认内核版本已更新:uname -r
配置系统加载BBR模块并设置拥塞控制算法:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
应用配置:sysctl -p
5. 确认BBR生效
sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr
预期输出:`net.ipv4.tcp_congestion_control = bbr` 及显示`tcp_bbr`模块信息。
验证网络性能
启用后可通过实际文件传输、`iperf3`或`curl`测试下载速度,对比启用前后的延迟与带宽利用率变化。
总结
升级内核并在CentOS 7启用BBR算法,是优化服务器网络传输效率、提升吞吐量并降低延迟的有效方法。该配置可显著改善高延迟或存在一定丢包网络环境下的连接体验。