BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。

BBR解决了两个问题:

再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。

降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。

项目地址:https://github.com/google/bbr

升级内核版本

1.查看当前内核版本

uname -r

2.导入elrepo源所需的key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

3.安装elrepo源

rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
或者
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

4.安装yum源中最新的内核

yum -y --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml

目前因 ELRepo 源已经没有了,只能手动下载安装
查找 kernel rpm 历史版本:http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/

yum install http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-ml-6.9.7-1.el7.elrepo.x86_64.rpm

5.设置系统启动顺序
查看系统启动项:

grep menuentry /boot/grub2/grub.cfg

修改启动项为新安装的内核(更具自己内核版本替换单引号内的版本号)

grub2-set-default 'CentOS Linux (4.18.15-1.el7.elrepo.x86_64) 7 (Core)'
grub2-mkconfig -o /boot/grub2/grub.cfg

查看默认启动的系统版本

grub2-editenv list

6.重启linux

reboot

开启bbr

1.修改内核参数

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

2.保存生效

sysctl -p
显示下面类容
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

3.查看是否生效

lsmod |grep bbr
显示下面类容
tcp_bbr                20480  4