BBR是谷歌公司开发了一种优化TCP连接速度的算法,提高流量的发包效率和利用率,这样可以降低丢包,从而提高速度。并且有个很重要的特性,仅需单向优化,就可以大幅度提高性能。BBR的原理是:

优化排队算法,处理好物理带宽、物理延迟、排队延迟的关系,让物理带宽最大化的发挥。

这个BBR模块已经集成在4.9版本以后的linux内核中。CentOS如果要使用,就需要更新到最新的内核。

使用步骤:

1.  导入ELRepo内核源

#导入ELRepo KEY,import前面两个-
rpm – -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

#CentOS6执行
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
#CentOS7执行
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

2.  升级内核

#升级内核,enablerepo前面两个-
yum – -enablerepo=elrepo-kernel install kernel-ml

3. 启用内核

启用内核其实很简单,就是修改grub启动文件,将4.14内核设置为默认内核,然后重启机器

#修改grub启动文件,将4.14内核设置为最新
vim /boot/grub/grub.conf

根据title来计算下标,从0开始,设置到default=处,然后:

#重启机器
reboot

4. 检查内核是否替换成功

重启之后检查是否启用了最新的内核,命令:
uname -a
输出:
Linux dyfserver 4.14.12-1.el6.elrepo.x86_64 #1 SMP Fri Jan 5 13:32:52 EST 2018 x86_64 x86_64 x86_64 GNU/Linux

5. 修改并启用BBR

修改/etc/sysctl.conf文件,在文件末尾增加两行:
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
保存并退出

执行
sysctl -p
使系统参数的修改生效

6. 测试是否启用

#检查bbr是否生效,输出 bbr cubic reno
sysctl net.ipv4.tcp_available_congestion_control
#检查bbr是否生效,输出bbr
sysctl -n net.ipv4.tcp_congestion_control
#查看bbr模块是否加载,输出tcp_bbr 16384 0
lsmod | grep bbr

7. 来啊,快活啊,尽情的体验BBR吧

PS:丢包环境、数据传输量大的环境,很适合,你一定懂的。

发表评论

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