Google BBR自开源后得到了一致好评,在服务器打开后可感到明显提升。
而最有趣的是,GOOGLE在自己的GITHUB上放了这么一句
This is not an official Google product.
但是又有何妨呢,好用就可以。
按照步骤执行:
安装
yum
系统更新yum update
(更新到7.3)
查看系统版本
cat /etc/redhat-release
输出如下,则表示已升级到7.3
CentOS Linux release 7.3.1611 (Core)
安装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 -y
正常情况下将输出如下:
Transaction Summary Install 1 Package Total download size: 39 M Installed size: 169 M Downloading packages: kernel-ml-4.9.0-1.el7.elrepo.x86_64.rpm | 39 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : kernel-ml-4.9.0-1.el7.elrepo.x86_64 1/1 Verifying : kernel-ml-4.9.0-1.el7.elrepo.x86_64 1/1 Installed: kernel-ml.x86_64 0:4.9.0-1.el7.elrepo Complete!
更新grub文件并重启(reboot后,ssh会断开,稍等一会儿重新连接)
$ egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' $ grub2-set-default 0 $ reboot
开机后查看内核是否已更换为4.9
$ uname -r
输出如下内容则表示内核4.9已经启动了
4.9.0-1.el7.elrepo.x86_64
开启bbr
$ vim /etc/sysctl.conf
添加如下内容
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
加载系统参数(正常情况下会输出我们之前加入的内容)
$ sysctl -p
测试
确定bbr已经开启
a.若
$ sysctl net.ipv4.tcp_available_congestion_control
返回
net.ipv4.tcp_available_congestion_control = bbr cubic reno
则成功
b.若
$ lsmod | grep bbr
返回形如
tcp_bbr 16384 1
则成功
最后值得注意的是,如果你的主机是aliyun,开启了BBR可能造成阿里云控制台中的监控实效。