Debian/CentOS等Linux开启Google BBR,实现高效加速

Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法。根据以往的传统,Google 总是先在自家的生产环境上线运用后,才会将代码开源,此次也不例外。根据实地测试,在部署了最新版内核并开启了 TCP BBR 的机器上,网速甚至可以提升好几个数量级。
Debian由于默认内核已是4.9以上,并且集成了BBR算法,所以Debian系统无需更换内核。而CentOS则由于其集成的内核为3.10,内核未集成BBR算法,所以只能升级内核后,方可开启BBR方法。

第一步:升级内核(仅限CentOS)

1. 更新系统及软件

yum update

2. 查看及确认系统版本

cat /etc/redhat-release

3. 安装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  ## CentOS 7
rpm -Uvh https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm  ## CentOS 8
yum --enablerepo=elrepo-kernel install kernel-ml kernel-tools -y

4. 设置开机启动项(万分注意)

# egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

       输出结果类似如下

        CentOS Linux 7 Rescue f212d2d7754a4a6bb2b98950c20cc0b5 (4.13.10-1.el7.elrepo.x86_64)
CentOS Linux (4.**.**-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-d1f142097d497f24c021d7de9b81cab4) 7 (Core)

该列表从0开始索引,所以4.13内核索引为1(请依据您的返回结果确认下面命令的参数)

通过如下命令设置启动项(请依据您的返回结果确认下面命令的参数)

# grub2-set-default 1

5. 重启

# reboot

6. 确认您的内核版本

# uname -r

若返回结果类似如下

        4.**.**-1.el7.elrepo.x86_64

则表示您的内核已升级完成,可以根据后面的开启BBR方式进行开启了

第二步:开启BBR

1. 修改系统变量

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

2. 重新加载系统变量

# sysctl -p

3. 验证BBR开启结果

# lsmod | grep bbr
# sysctl net.ipv4.tcp_available_congestion_control

返回的结果中包含BBR则为已开启,可以愉快的冲浪了。

Google开源的BBR算法,不得不感叹确实很厉害。我的网站速度多的时候甚至快了好几倍,从原本的100KB直接跑到了2M多!给Google点赞…
同时,也对CentOS古老的内核版本表示伤脑筋。唉!

发表评论

电子邮件地址不会被公开。 必填项已用*标注