当前位置:首页 > 技术杂坛 > 正文内容

cetons7开启BBR

zhangchap4年前 (2020-03-07)技术杂坛478

Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。

对于TCP单边加速,并非所有人都很熟悉,不过有另外一个大名鼎鼎的商业软件“锐速”,相信很多人都清楚。特别是对于使用国外服务器或者VPS的人来说,效果更佳。

网上有很多在 Debian 和 Ubuntu 系统下启用 BBR 的教程,我就不粘贴了,我自己一直用的是 CentOS,本文介绍一下在 64位 CentOS 7 系统下开启BBR的方法。

升级内核

第一步首先是升级内核到支持BBR的版本:

#导入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
CentOS 7
#安装elrepo源 CentOS 7
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
#安装4.9.0以上的内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
# 确认是否成功安装新版内核
rpm -qa | grep kernel

如果安装成功,你应该会看到 kernel-ml-4.*.*-*.el7.elrepo.x86_64 这样的条目:


kernel-tools-3.10.0-514.el7.x86_64
kernel-ml-4.12.4-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-514.el7.x86_64
kernel-3.10.0-514.el7.x86_64


调整GRUB启动顺序

在安装好新版本内核以后,要先用新安装的内核引导系统看看能否正常启动,下面是直接调整 GRUB2 启动顺序的命令:

# 查看可用的启动项
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'


执行完这条命令以后,能看到多个可以引导的系统,比如我的是:

CentOS Linux (4.12.4-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-d4d0adfea8e944e5b8019ed1aa3c9e16) 7 (Core)


不管有多少个,从上往下,记住要引导的项的序号(从0开始计数)即可,比如上面的例子,我要使用第一项 CentOS Linux (4.12.4-1.el7.elrepo.x86_64) 7 (Core) 来引导,序号是 0


# 设置默认引导项
grub2-set-default 0

# 重启系统
reboot

修改sysctl 开启 BBR

重启系统之后,通过 uname -r 或者其它命令可以看到我们的内核已经是新版内核了,接下来开启 BBR

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

使其生效:

sysctl -p
查看BBR是否安装成功

sysctl net.core.default_qdisc


如果返回

net.core.default_qdisc = fq


输入:

sysctl net.ipv4.tcp_congestion_control


返回:

net.ipv4.tcp_congestion_control = bbr


或者:

lsmod | grep tcp_bbr


说明BBR已经启动。


参考:
https://cloud.tencent.com/developer/article/1049674
http://www.tianbai.net/162.html
https://wker.com/google-bbr-centos/

分享给朋友:

相关文章

destoon批量修改分类seo标题、关键词、描述、模板sql语句

用阿里云rds修改数据库自动生成的语句,可以批量修改,在此记录一下,以备后用! destoon批量修改分类seo标题、关键词、描述sql语句: update `d...

destoon后台不显示短信余额的解决方法

自从dt16年短信出了一次无法发送的问题,官方让: include/global.func.php 文件中的  sms.destoon.com换成116.255.251.5...

video视频提示没有找到支持的视频格式和MIME类型解决方案

初次尝试用 html5的 video 标签添加适配,代码如下: <link href="//vjs.zencdn.net/7.8.2/video-js.min.css"...

python正则替换替换文本特殊字符和html代码

import re h2 = '「新裤子/痛仰/陈粒/达达」2021贵阳草莓音乐节全阵容公布!' h2 = re.sub(r...

python 字典排序

prefix_word = {'怎么': 4, '昨晚': 27, '会': 56...

掌握 Python 中的网页抓取:从头开始抓取

Ander 是一名 Web 开发人员,他在多家初创公司工作了 10 多年,曾与各种行业和技术合作。工程师转为企业家。 您是否尝试过抓取数千个页面?进一步扩展?处理系统故障并从中恢复?在了解了如何从...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。