
BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。
BBR解决了两个问题:
再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。
项目地址:https://github.com/google/bbr
备注:以下操作在CentOS7.6下完成,root账号。
升级内核
开启 BBR 要求 4.10 以上版本 Linux 内核,可使用如下命令查看当前内核版本:
#uname -r
可以得到类似如下的结果:
3.10.0-514.10.2.el7.x86_64
如果当前内核版本低于 4.10,可使用 ELRepo 源更新:
导入 elrepo 软件源的 GPG 公钥
#rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
导入 elrepo 软件源
说明:该地址可以自动下载该源的最新的软件列表,无需修改地址。
#rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
下载并安装新的内核
启用软件源并下载安装最新稳定版内核
#yum --enablerepo=elrepo-kernel install kernel-ml -y
##安装长期支持版命令:yum --enablerepo=elrepo-kernel install kernel-lt -y
安装完成后,查看已安装的内核:
#rpm -qa | grep kernel
得到结果如下:
kernel-tools-libs-3.10.0-957.10.1.el7.x86_64 kernel-ml-5.0.9-1.el7.elrepo.x86_64 kernel-3.10.0-957.el7.x86_64 kernel-tools-3.10.0-957.10.1.el7.x86_64 kernel-3.10.0-957.10.1.el7.x86_64
在输出中看到 kernel-ml-5.0.9-1.el7.elrepo.x86_64 类似的内容,表示安装成功。
修改grub2引导
执行:
#egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
会得到如下结果:
CentOS Linux (5.0.9-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux (3.10.0-514.16.1.el7.x86_64) 7 (Core) CentOS Linux (3.10.0-123.el7.x86_64) 7 (Core) CentOS Linux (0-rescue-673f1d7aab9c405ebd6a75a926fb6b0f) 7 (Core)
由于序号从0开始,设置默认启动项为0并重启系统:
#grub2-set-default 0 #shutdown -r now
重启完成后,重新登录并重新运行uname命令来确认你是否使用了正确的内核:
#uname -r
得到如下结果则升级成功:
5.0.9-1.el7.elrepo.x86_64
删除旧内核
说明:删除旧内核的目的是为了防止 yum 更新旧版内核之后覆盖了 grub 默认启动项
#yum remove kernel kernel-tools
开启BBR
执行:
#echo 'net.core.default_qdisc=fq' | tee -a /etc/sysctl.conf #echo 'net.ipv4.tcp_congestion_control=bbr' | tee -a /etc/sysctl.conf #sysctl -p
完成后,分别执行如下命令来检查 BBR 是否开启成功:
#sysctl net.ipv4.tcp_available_congestion_control
输出应为 net.ipv4.tcp_available_congestion_control = reno cubic bbr
#sysctl -n net.ipv4.tcp_congestion_control
输出应为 bbr
#lsmod | grep bbr
输出应类似 tcp_bbr 20480 1



本文地址:https://www.xxnet.eu.org/?post=245
版权声明:若无注明,本文皆为“点滴记忆---观雨亭”原创,转载请保留文章出处。

