BBR介绍
Google BBR (Bottleneck Bandwidth and RTT) 是一种新的TCP拥塞控制算法,它可以高效增加吞吐和降低网络延迟,并且Linux Kernel4.9+已经集成该算法。开启BBR也非常简单,因为它只需要在发送端开启,网络其他节点和接收端不需要任何改变。项目地址:https://github.com/google/bbr
检查现有内核
# uname -r
如果内核大于等于4.9则跳过升级直接开启Google BBR
升级内核
安装 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 #安装新内核
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' #查看当前系统内的内核
CentOS Linux (3.10.0-1062.9.1.el7.x86_64) 7 (Core) CentOS Linux (5.4.4-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux (3.10.0-1062.4.3.el7.x86_64) 7 (Core) CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core) CentOS Linux (0-rescue-b97c1797f883eb5f3d72134d451d0384) 7 (Core)
#新内核的索引是1
grub2-set-default 1 #设置为新内核启动
reboot #重启以新内核启动
uname -r #重启后检查内核版本 如下显示即为成功
5.4.4-1.el7.elrepo.x86_64
```
<a name="3jjtr"></a>
### 开启BBR
```bash
vi /etc/sysctl.conf #编辑配置文件 添加下面的内容
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
sysctl -p #加载系统参数
lsmod | grep bbr #检查是否开启成功 如下显示即表示成功
tcp_bbr 20480 8
sysctl net.ipv4.tcp_available_congestion_control #另外一种检查方法 如下显示即表示成功
net.ipv4.tcp_available_congestion_control = reno cubic bbr