买的国外虚拟机高峰时间卡的厉害,试用了一下启用BBR加速后,觉得还是效果挺好的。
介绍下Google BBR,它是Google开发的开源的TCP拥塞控制传输控制协议,可以使 Linux 服务器显著提高吞吐量和减少 TCP 连接的延迟,详见:https://github.com/google/bbr
下面记录下我开启BBR的步骤(以CentOS7为例)
首先需要备份你的资料到别的服务器或者网盘上去,或者在新的服务器上安装,因为涉及到修改系统内核,有比较大的概率会系统启动不起来!
- 查看系统版本
cat /etc/redhat-release # 输出: CentOS Linux release 7.9.2009 (Core)
如果不是CentOS或者版本小于7,本文不合适
- 安装elrepo-kernel内核
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --enablerepo=elrepo-kernel install kernel-ml -y
- 查看安装后现在系统的内核列表并设置默认
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 返回: 0 : CentOS Linux (5.15.1-1.el7.elrepo.x86_64) 7 (Core) 1 : CentOS Linux 7 Rescue df8aa088bc6e4b9da210b0cdcca66627 (3.10.0-1160.49.1.el7.x86_64) 2 : CentOS Linux (3.10.0-1160.49.1.el7.x86_64) 7 (Core) 3 : CentOS Linux (3.10.0-693.11.6.el7.x86_64) 7 (Core) 4 : CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core) 5 : CentOS Linux (0-rescue-00a62363617944e08db8db894ba6145e) 7 (Core)
可以看到第0个位置(CentOS Linux (5.15.1-1.el7.elrepo.x86_64) 7 (Core))是5.x的内核,我们把它设置为开机启动的默认内核
grub2-set-default 0
重启服务器
reboot
- 设置bbr
修改sysctl.conf文件
vi /etc/sysctl.conf
最后添加如下两行:
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
运行sysctl -p 使它生效
sysctl -p
- 验证是否开启了BBR
sysctl net.ipv4.tcp_available_congestion_control
返回:
net.ipv4.tcp_available_congestion_control = reno cubic bbr
说明bbr安装成功
再看下这个命令:
lsmod | grep bbr tcp_bbr 20480 26
文章评论