CentOS 7 开启BBR拥塞控制算法

原文知乎站点 https://zhuanlan.zhihu.com/p/29295440
BBR是来自于Google的黑科技,目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 充分利用带宽并降低延迟,起到神奇般的加速效果。
BBR 这个特性其实是在 Linux 内核 4.9 才计划加入的。所以,要开启BBR,需要内核版本在Linux kernel 4.9以上。下面记录一下如何升级Linux内核,并且开启BBR:

1、下载更换内核

最新内核查看这里
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

2、查看内核是否安装成功

rpm -qa | grep kernel

3、更新 grub 系统引导文件并重启

egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d '
grub2-set-default 0 #default 0表示第一个内核设置为默认运行, 选择最新内核就对了
reboot
注意,某些服务商(如Digital Ocean)可能需要首先将VPS配置为可自定义内核,然后grub2的配置才会生效。

4、开启BBR

开机后 uname -r 看看是不是内核4.9、4.10或4.11
执行 lsmod | grep bbr,如果结果中没有 tcp_bbr 的话就先执行
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
再执行
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果结果都有bbr, 则证明你的内核已开启bbr。看到有 tcp_bbr 模块即说明bbr已启动,这样,就可以开始体验Google的黑科技加速了……

上一篇:漫谈BBR算法的收敛点和公平性


下一篇:Ubuntu 18.04 LTS 启用BBR