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

cetons7开启BBR

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

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/

分享给朋友:

相关文章

iis7.5 404页面设置不生效

iis7.5 404页面设置不生效

iis7.5在控制台设置设置自定义404错误页面后,但是不生效,经各种查询找到解决方案,在此记录一下 这是针对单个网站设置的,设置后还需要在全局 错误页里...

destoon调用图片方法记录

大神用的方法: {if $thumb} <h2>{$CAT[catname]}图片展示:</h2> <p style="text-ali...

destoon标题过滤手机号

修改文件:\module\sell\my.inc.php 添加下列代码: // 过滤手机号 $pattern = '/0?(13|14|15|17|18|19)[0-9]{9}/'; $p...

宝塔一个站点如何绑定多个域名ssl证书?

宝塔一个站点如何绑定多个域名ssl证书?

1.如果网站不是自适应 2.程序不会在访问的时候自动判断客户端,返回不同的内容。(js跳转的不在这个范围内) 现在一个站点往往绑定至少两个域名,pc、m各一个,甚至频道有二级域名的话,那...

python列表排序(以字符串长度)

M = ['a', 'sss', 'bb'] 第一种: m = M.sort(key&n...

python 获取当前的路径并切换

import os curdir = os.path.dirname(__file__) #获取当前的路径,若运行在当前文件夹,是获取不到当前路径的,最保险的...

发表评论

访客

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