CentOS安装新版内核并开启Google BBR加速
BBR是Google开源的一种TCP网络拥塞优化算法,可以提高网站访问速度。
开启BBR有什么用?
简单来说,开启BBR可以对你网站访问速度起到一定的优化。BBR是Google开源的一种TCP网络拥塞优化算法,TCP BBR 致力于解决两个问题:在有一定丢包率的网络链路上充分利用带宽。降低网络链路上的 buffer 占用率,从而降低延迟。TCP 拥塞控制的目标是最大化利用网络上瓶颈链路的带宽。
查看当前服务器的内核版本。新内核版本发布追踪!
uname -sr
uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。
-a或--all:显示全部的信息;
-m或--machine:显示电脑类型;
-n或-nodename:显示在网络上的主机名称;
-r或--release:显示操作系统的发行编号;
-s或--sysname:显示操作系统名称;
-v:显示操作系统的版本;
-p或--processor:输出处理器类型或"unknown";
-i或--hardware-platform:输出硬件平台或"unknown";
-o或--operating-system:输出操作系统名称;
--help:显示帮助;
--version:显示版本信息。
BBR内核要求是4.9+,通常来说你通过上面这个命令出来的内核版本是在3.几。接下来启用 ELRepo 仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# CentOS 7 则采用下面的命令
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# CentOS 8 则采用下面的命令
yum install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
然后依次执行下面的命令,等待进度条走完,下载升级:
yum --enablerepo=elrepo-kernel install kernel-ml -y && sed -i s/saved/0/g /etc/default/grub && grub2-mkconfig -o /boot/grub2/grub.cfg
系统重启一次,使用下面的命令查看是否安装成功。
reboot
rpm -qa | grep kernel
我的显示如下:
kernel-ml-6.5.1-1.el7.elrepo.x86_64
#因为执行了一键清理无用内核,所有显示一个,命令如下:
yum remove $(rpm -qa | grep kernel | grep -v $(uname -r))
在CentOS7新内核上开启BBR
要在新安装好的CentOS7上面启用新内核,只需要复制下面的代码执行就可以了。
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
sudo sysctl -p
然后输入下面的命令查看是否开启BBR成功
sudo sysctl net.ipv4.tcp_available_congestion_control
成功的话应该是下面这种输出
net.ipv4.tcp_available_congestion_control = bbr cubic reno
继续验证
sudo sysctl -n net.ipv4.tcp_congestion_control
输出应该是
bbr
最后看内核模块是否加载
lsmod | grep bbr
输出应该是类似下面这种
tcp_bbr 20480 327