linux内核默认的拥塞控制算法是cubic,对于中美之间链路这种延迟较高、丢包率中等的网络效果非常差。Google员工开发的BBR拥塞控制算法对网络质量提升很大,这里教大家如何在一台CentOS 7 系统的VPS上,使用BBR拥塞控制算法。
升级内核
首先查看你的Linux内核版本
[root@centos-512mb-sfo2-01 ~]# uname -a
Linux centos-512mb-sfo2-01 4.12.1-1.el7.elrepo.x86_64 #1 SMP Thu Jul 13 07:25:32 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
主机名后面那个就是版本号了,这里可以看到,这台机子已经升到了最新的4.12版本。
开启BBR拥塞控制算法的要求是Linux内核4.9以上版本,现在主流的Linux发行版内核还停留在2.x,我们需要先升级Linux内核版本。
首先,我们需要增加一个 ELRepo 源。
第一步,让我们添加 ELRepo GPG key:
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
第三步,安装 fastestmirror
yum install yum-plugin-fastestmirror
第四步,安装最新Kernel
yum --enablerepo=elrepo-kernel install kernel-ml
第五步,切换到刚刚下载的新内核
grub2-set-default 0
第六步,重启(重启之后才能切换版本),通过 uname -a 查看内核是否成功切换到最新的版本,确认后我们进入下一步开启BBR
第七步,开启BBR
在/etc/sysctl.conf中加入以下两句
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
检查是否成功设置
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
分别查看可以用和现在使用的拥塞控制算法
[root@centos-512mb-sfo2-01 ~]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
[root@centos-512mb-sfo2-01 ~]# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr
检查BBR是否正常运行
lsmod | grep tcp_bbr
[root@centos-512mb-sfo2-01 ~]# lsmod | grep tcp_bbr
tcp_bbr 16384 21
在开启前平均加载速度在2000以内,开启后一般可以稳定在8000以上,可见提升非常巨大
朋友写了一篇Ubuntu和Debian ;博客地址:
http://blog.csdn.net/baidu_16980309/article/details/72991158
作者:Hydrogen_
链接:http://www.jianshu.com/p/272ff5a00103
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。