[WordPress系列之007] CentOS 7 更换内核版本并启用 BBR

By 程序知路 | 2022-03-18
0
(0)

BBR 是谷歌开源的一款致力于传输控制协议(TCP)网络拥塞控制的算法。它集成于 4.9 以上版本的 Linux 内核里面,可通过安装更高版本的内核以支持 BBR。

启用它,明显提高服务器的网络呑吐量,对于流量大的站点,效果显著。

Google BBR

安装高版本内核

yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
## yum --enablerepo=elrepo-kernel install -y kernel-ml-devel kernel-ml
yum -y --disablerepo=* --enablerepo=elrepo-kernel install kernel-ml
yum install -y grub2

查看内核候选顺序

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

# 若出现 “grep: /etc/grub2.cfg: No such file or directory” 的错误,
# 运行以下命令解决:
grub2-mkconfig -o /boot/grub2/grub.cfg
# 再次运行刚才的命令

执行结果:

[root@localhost ~]# egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
CentOS Linux (5.16.15-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.59.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.25.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.21.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-296a5a3c6d36004b8810c44cc8f4b3a1) 7 (Core)

以上执行结果列表行的顺序从 0 开始,第一个候选项是 0,第二个是 1,依此类推。

设置新的默认启动内核

将新安装高版本内核设为系统启动默认项。

# 因为是第一个候选项,所以是第 0 项
grub2-set-default 0

更改完必须重启服务器。

重启完成再重新登录 SSH。

重启后查看当前使用的默认内核

uname -r

执行结果:

5.16.15-1.el7.elrepo.x86_64

由此可见,CentOS 7 的内核已经被升级成 5.16.15 版本,已达到启用 BRR 的条件。

设置 BBR

查看当前的 TCP 拥塞控制方式

sysctl net.ipv4.tcp_congestion_control

执行结果:

net.ipv4.tcp_congestion_control = cubic

启用 BBR

执行以下命令以启用 BBR:

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

执行结果:

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

重启服务器。

再次查看 BBR 是否已经生效:

[root@localhost ~]# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr

如得到以上的结果,则表示 BBR 已经启用。

如果以后执行系统更新,旧内核重新被使用,默认内核被覆盖,那么此时可以按照以上教程重新设置默认内核为最新的版本。

本文主要讲述了如何升级 CentOS 7 的内核版本,以及启用 BBR 拥塞控制算法。

欢迎访问本人的博客和关注微信公众号!

相关文章:

喜欢就请您给我评一下分吧!(从左到右为低分到高分)

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.


鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,欢迎互相探讨,一起学习,共同进步。

本文章可以转载,但是需要说明来源出处!

本文使用的部分图片来源于网上,若是侵权,请与本文作者联系删除: admin@chengxuzhilu.com