BBR 目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 效果并不比速锐差,且目前锐速已经不更新了,大部分机器需要换到较老内核才能使用,安全性较差。

Linux kernel 4.9+ 已支持 tcp_bbr 下面简单讲述基于KVM架构VPS如何开启。

先在SSH输入uname -r查看一下内核版本,内核低于4.9的需要更新到新内核,高于的则不需要。

#先使用update更新软件到最新

yum update -y

reboot

下载更换内核,最新内核查看这里

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

查看内核是否安装成功

rpm -qa | grep kernel

删除就内核(可选)

rpm -ev 旧内核

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

egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

如果删除旧内核了则需要更新grub

grub2-mkconfig -o /boot/grub2/grub.cfg

grub2-set-default 0   # default 0 表示第一个内核设置为默认运行, 选择最新内核就对了

reboot

开启TCP BBR拥塞控制算法

开机后 uname -r 看看是不是内核 >= 4.9

执行 lsmod | grep bbr,如果结果中没有 tcp_bbr 的话就先执行

modprobe tcp_bbr
echo "tcp_bbr" | sudo tee --append /etc/modules-load.d/modules.conf

执行

echo "net.core.default_qdisc=fq" | sudo tee --append /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee --append /etc/sysctl.conf

保存生效

sysctl -p

执行

sysctl net.ipv4.tcp_available_congestion_control

sysctl net.ipv4.tcp_congestion_control

如果结果都有 bbr, 则证明你的内核已开启 bbr

执行 lsmod | grep bbr, 看到有 tcp_bbr 模块即说明 bbr 已启动。