6

centOS开启Google BBR加速

 2 years ago
source link: https://hellodk.cn/post/10
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

centOS开启Google BBR加速

BBR是Google提出的一种新型拥塞控制算法,可以使Linux服务器显著地提高吞吐量和减少TCP连接的延迟。
BBR解决了两个问题:
在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。
项目地址:

https://github.com/google/bbr

下面正式开始教程:
一、升级内核
开启BBR要求4.10以上版本的Linux内核(Core Kernel),可使用以下命令查看当前内核版本:

uname -r

可以得到类似结果:

3.10.0-693.2.2.el7.x86_64

这表明当前系统的Linux内核版本是3.10,低于要求的4.10。我本次操作的centOS系统的版本是centOS7:

# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

如果当前内核版本低于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 -y

安装完成后,查看已安装的内核:

rpm -qa |grep kernel

得到结果如下:

kernel-tools-3.10.0-693.2.2.el7.x86_64
kernel-3.10.0-693.2.2.el7.x86_64
kernel-tools-libs-3.10.0-693.2.2.el7.x86_64
kernel-ml-5.0.7-1.el7.elrepo.x86_64

在输出中看到kernel-ml-5.0.7-1.el7.elrepo.x86_64表明安装成功,因为这个内核版本大于4.10。

二:修改grub引导
执行:

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

会得到如下结果:

CentOS Linux 7 Rescue ece3c57ee4654c26bf22667e3cde2fb6 (5.0.7-1.el7.elrepo.x86_64)
CentOS Linux (5.0.7-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.2.2.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-907d1bce9fe64ae4918f4a3e99b9f763) 7 (Core)

我们发现5.0.7这个版本的内核在第二个位置,由于编号从0开始编起,就需要设置默认启动项为1并重启系统:

grub2-set-default 1
reboot

重启完成后,重新登录并重新运行uname -r 命令来确定是否使用了刚才的5.0.7内核:

uname -r

得到结果如下则表明升级内核成功:

5.0.7-1.el7.elrepo.x86_64

三、开启Google 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
sysctl -p

分别执行完这三个命令后,再分别执行如下命令来检查BBR是否开启成功:

sysctl net.ipv4.tcp_available_congestion_control
sysctl -n net.ipv4.tcp_congestion_control
lsmod |grep bbr

这三个命令的输出,如果分别是以下情形则表明BBR开启成功:

net.ipv4.tcp_available_congestion_control = reno cubic bbr
tcp_bbr 20480 1

Reference:
https://laod.cn/black-technology/centos7-google-bbr-vps.html


end.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK