最新消息:

[转载]CentOS 7 开启 BBR 加速

教程 admin 2766浏览

因为一直使用centos7 x64系统,所以找到一个这样的成功版本.转载到此.

升级内核

第一步首先是升级内核到支持BBR的版本:

#导入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
 
#安装elrepo源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
 
#安装4.9.0以上的内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
 
# 确认是否成功安装新版内核
rpm -qa | grep kernel

如果安装成功,你应该会看到 kernel-ml-4.*.*-*.el7.elrepo.x86_64 这样的条目:

kernel-tools-3.10.0-514.el7.x86_64
kernel-ml-4.12.4-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-514.el7.x86_64
kernel-3.10.0-514.el7.x86_64


在安装好新版本内核以后,要先用新安装的内核引导系统看看能否正常启动,下面是直接调整 GRUB2 启动顺序的命令:
调整GRUB启动顺序

# 查看可用的启动项
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

执行完这条命令以后,能看到多个可以引导的系统,比如我的是:

0 : CentOS Linux (5.0.9-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-4326bed5724447ffa7b96c02ca52bd48) 7 (Core)

不管有多少个,从上往下,记住要引导的项的序号(从0开始计数)即可,比如上面的例子,我要使用第一项 CentOS Linux (4.12.4-1.el7.elrepo.x86_64) 7 (Core) 来引导,序号是 0

# 设置默认引导项
grub2-set-default 0


# 重启系统
reboot

修改sysctl 开启 BBR

重启系统之后,通过 uname -r 或者其它命令可以看到我们的内核已经是新版内核了,接下来开启 BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
 
# 加载 /etc/sysctl.conf 文件中的参数并显示,主要看看有没有报错的设置(显示的结果与你的配置文件内容有关)
sysctl -p
 
# 验证 bbr 是否开启,如果成功,应该会看到 net.ipv4.tcp_congestion_control = bbr
sysctl net.ipv4.tcp_available_congestion_control
 
# 依然是验证,如果成功,应该会看到类似 tcp_bbr    16384    3 这样的文字
lsmod | grep bbr

以上每一步最好都根据注释中的说明仔细检查一下是否顺利,然后再进行下一步,如果都成功的话,到这里已经成功开启BBR算法。可以在你的服务器上放一个大文件,然后用浏览器下载一下看看速度是否有提升。

其实现在新版本的系统很多都自带bbr加速了,不必要自己安装,有些已经默认运行,有些需要自己开机启动一下就可以了.

转载地址:https://www.ofcss.com/2016/12/12/bbr-congestion-control-algorithm-for-centos-7.html