Centos/Debian/Ubuntu一键开启BBR加速开启BBR

2020年07月28日 121点热度 2人点赞 0条评论

BBR是什么

BBR是由Google研发的开源TCP拥塞优化算法,可加速用户到服务器的速度,尤其是境外服务器。搭建网站后安装BBR还可以显著提升访问体验哦。

PS:鹅厂那个所谓的“开源”TCPA,对小文件的加速优于BBR是因为设置值的变动,BBR默认的 initcwnd 为10,TCPA 启动脚本里改成了 120。(时至今日,TCPA已经404)

BBR原版就好,PLUS和魔改版或多或少有bug

一键开启BBR

Debian9,Debian10,Centos8,Ubtunu20均可一键开启,无需换内核

网上大多数教程升级内核是升级到4.18,但是最近发现升级到5.8似乎可能有特殊加成,所以升级内核教程改为升级到5.18,仅以centos7/8为例,因为centos系统的高稳定性和可商用化
Debian9,Debian10,Centos8,Ubtunu20

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
lsmod | grep bbr

最后输出有tcp_bbr就算成功啦~

此时内核应该是4.*,可以通过uname -r查看

Centos7

几乎所有的服务商提供的系统内核都为3.1,下面我们升级到最新的5.8

启用 ELRepo 仓库

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

查找内核安装包

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

可以看到,最新主线稳定版 kernel-ml x86_64 的版本号

安装最新内核

yum -y --enablerepo=elrepo-kernel install kernel-ml.x86_64 kernel-ml-devel.x86_64

设置以新的内核启动

0 表示最新安装的内核,设置为 0 表示以新版本内核启动

grub2-set-default 0

生成grub配置文件并重启系统

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

查看是否安装成功

rpm -qa | grep kernel

开启BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

检查是否开启

lsmod | grep bbr
sudo sysctl net.ipv4.tcp_available_congestion_control
sudo sysctl -n net.ipv4.tcp_congestion_control

大功告成!

 

Centos8

几乎所有的服务商提供的系统内核都为3.1,下面我们升级到最新的5.8

导入ELRepo仓库的公共密钥

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

启用 ELRepo 仓库

yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

查找内核安装包

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

可以看到,最新主线稳定版 kernel-ml x86_64 的版本号

安装最新内核

yum --enablerepo=elrepo-kernel install kernel-ml

设置以新的内核启动

0 表示最新安装的内核,设置为 0 表示以新版本内核启动

grub2-set-default 0

生成grub配置文件并重启系统

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

查看是否安装成功

rpm -qa | grep kernel

开启BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

检查是否开启

lsmod | grep bbr
sudo sysctl net.ipv4.tcp_available_congestion_control
sudo sysctl -n net.ipv4.tcp_congestion_control

大功告成

 

卸载多余内核

查看所有内核版本

rpm -qa | grep kernel

例如出现

kernel-core-4.18.0-193.6.3.el8_2.x86_64
kernel-modules-4.18.0-147.5.1.el8_1.x86_64
kernel-ml-modules-5.7.7-1.el8.elrepo.x86_64
kernel-devel-4.18.0-147.5.1.el8_1.x86_64
kernel-4.18.0-80.el8.x86_64

使用如下命令删除指定版本

yum remove kernel-core-4.18.0 kernel-devel-4.18.0 kernel-tools-libs-4.18.0 kernel-headers-4.18.0

Debian9升级最新内核

更新一下Debian9升级到最新内核

修改更新源

sudo sh -c 'echo -e "deb http://http.debian.net/debian stretch-backports main\ndeb-src http://http.debian.net/debian stretch-backports main" > /etc/apt/sources.list.d/sources.list.bak'

更新package

sudo apt-get update
sudo apt-get dist-upgrade

搜索新版内核镜像

sudo apt-cache search linux-image

在查找到的内核中选择最新的内核安装

apt-get install linux-headers-4.19.0-0.bpo.2-amd64 -y

headers和image都可以安装一下

重启使新内核生效并自动清理
sudo reboot
sudo apt-get autoremove

喵酱

一只喜好各类影视动漫动画的喵~~

文章评论