BBR是什么
我们使用的VPS只是一个大计算机中分割出来的虚拟机,这些VPS共用一个大计算机,所以需要抢夺大计算机的资源,BBR就是能帮VPS抢夺TCP网络资源的一种算法。
安装高版本内核
安装BBR的话,内核版本必须高于4.9,所以第一步是安装高版本内核。
- 查看当前版本内核,通常情况下都是3.1的内核
uname -r
- rpm导入内核版本的安装仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
下面一句命令要注意:我这里是7.6的centos系统进行安装,所以是release-7.0-3
,如果你是8.0的可能要更换下对应版本
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
- 安装新版的稳定版内核,这一步可能花费比加长时间
yum --enablerepo=elrepo-kernel install kernel-ml -y
- 检查是否安装成功(注意:可能你的内核版本和我不一样,但高于4.9就没问题)
rpm -qa | grep kernel
把系统替换成高版本内核
- 把内核排序
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
- 根据排序结果设置开机启动顺序,从第一行为0依次数,0、1、2、3这样,看你的新内核是第几位,我这里是第一位,也就是0
grub2-set-default 0
- 重启
reboot
- 查看内核版本
uname -r
- 重建内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg
开启BBR加速
- 添加加速命令并重载配置
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sysctl -p
- 验证BBR是否开启,只要显示了bbr就表示开启了
sysctl net.ipv4.tcp_available_congestion_control
- 查看内核模块是否加载,只要显示了
tcp_bbr
就表示加载了
lsmod | grep bbr
一键安装BBR脚本
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
参考资料
VPS 卸载/关闭 Google BBR 加速教程(www.hedaoshe.com)