BBR主要解决两个问题
1、再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
2、降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。
项目地址:https://github.com/google/bbr
1、升级内核:
开启 BBR 要求 4.10 以上版本 Linux 内核,查看当前内核版本:
[root@localhost ~]# uname -r
3.10.0-514.el7.x86_64
2、当前内核版本低于 4.10,可使用 ELRepo 源更新:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml
3、安装完成后查看:
[root@localhost ~]# rpm -qa |grep kernel
kernel-headers-3.10.0-957.27.2.el7.x86_64
kernel-tools-3.10.0-957.27.2.el7.x86_64
kernel-devel-3.10.0-862.el7.x86_64
kernel-tools-libs-3.10.0-957.27.2.el7.x86_64
kernel-devel-3.10.0-957.27.2.el7.x86_64
kernel-3.10.0-957.27.2.el7.x86_64
kernel-3.10.0-862.el7.x86_64
kernel-ml-5.11.15-1.el7.elrepo.x86_64
4、修改引导(设置并查看当前default的entry)
awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
grub2-set-default 0
grub2-editenv list
5、开启BBR,把下面内容加到/etc/sysctl.conf 文件后面。
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
或
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
6、重启生效
reboot #重启服务器