CentOS7开启 BBR为VPS加速详解

浩宇 帝一

发表文章数:88

热门标签

, , ,

 

CentOS7开启 BBR为VPS加速详解

什么是BBR

TCP BBR是谷歌出品的TCP拥塞控制算法。BBR目的是要尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果。替代锐速再合适不过,毕竟免费。

Google提交到Linux主线并发表在ACM queue期刊上的TCP-BBR拥塞控制算法。继承了Google“先在生产环境上部署,再开源和发论文”的研究传统。TCP-BBR已经再YouTube服务器和Google跨数据中心的内部广域网(B4)上部署。由此可见出该算法的前途。

TCP-BBR的目标就是最大化利用网络上瓶颈链路的带宽。一条网络链路就像一条水管,要想最大化利用这条水管,最好的办法就是给这跟水管灌满水。

BBR解决了两个问题:

再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。
项目地址:https://github.com/google/bbr
Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。
对于TCP单边加速,并非所有人都很熟悉,不过有另外一个大名鼎鼎的商业软件“锐速”,相信很多人都清楚。特别是对于使用国外服务器或者VPS的人来说,效果更佳。
网上有很多在 Debian 和 Ubuntu 系统下启用 BBR 的教程,我就不粘贴了,我自己一直用的是 CentOS,本文介绍一下在 64位 CentOS 7 系统下开启BBR的方法。

升级内核

开启 BBR 要求 4.10 以上版本 Linux 内核,可使用如下命令查看当前内核版本:

  1. uname -r

可以得到类似如下的结果:


  1. 3.10.0-514.10.2.el7.x86_64


如果当前内核版本低于 4.10,可使用 ELRepo 源更新:

  1. sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
  2. sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
  3. sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

安装完成后,查看已安装的内核:


  1. rpm -qa | grep kernel


得到结果如下:

  1. kernel-3.10.0-123.el7.x86_64
  2. kernel-headers-3.10.0-514.16.1.el7.x86_64
  3. kernel-ml-4.11.0-1.el7.elrepo.x86_64
  4. kernel-tools-3.10.0-514.16.1.el7.x86_64
  5. kernel-3.10.0-514.16.1.el7.x86_64
  6. kernel-tools-libs-3.10.0-514.16.1.el7.x86_64

在输出中看到 kernel-ml-4.11.0-1.el7.elrepo.x86_64 类似的内容,表示安装成功。

修改grub2引导

执行:

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

会得到如下结果:

  1. CentOS Linux 7 Rescue a0cbf86a6ef1416a8812657bb4f2b860 (4.11.0-1.el7.elrepo.x86_64)
  2. CentOS Linux (4.11.0-1.el7.elrepo.x86_64) 7 (Core)
  3. CentOS Linux (3.10.0-514.16.1.el7.x86_64) 7 (Core)
  4. CentOS Linux (3.10.0-123.el7.x86_64) 7 (Core)
  5. CentOS Linux (0-rescue-2d3f9371c20d3e90a544ccc814d485e3) 7 (Core)

由于序号从0开始,设置默认启动项为1并重启系统:

  1. sudo grub2-set-default 1
  2. reboot

重启完成后,重新登录并重新运行uname命令来确认你是否使用了正确的内核:

  1. uname -r

[/wm_linux]得到如下结果则升级成功:

  1. 4.11.0-1.el7.elrepo.x86_64

开启BBR

执行:

  1. echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
  2. echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
  3. sudo sysctl -p

完成后,分别执行如下命令来检查 BBR 是否开启成功:

  1. sudo sysctl net.ipv4.tcp_available_congestion_control
  2. # 输出应为 net.ipv4.tcp_available_congestion_control = bbr cubic reno
  3. sudo sysctl -n net.ipv4.tcp_congestion_control
  4. # 输出应为 bbr
  5. lsmod | grep bbr
  6. # 输出应类似 tcp_bbr  16384  28

速度测试

 

  1. # 需先在 firewalld 中开启 http 服务
  2. sudo dd if=/dev/zero of=500mb.zip bs=1024k count=500

 

访问 http://[your-server-IP]/500mb.zip 来测试一下下载速度吧~CentOS7

未经允许不得转载:作者:帝一, 转载或复制请以 超链接形式 并注明出处 帝一天博
原文地址:《CentOS7开启 BBR为VPS加速详解》 发布于2020-02-17, 本文最后更新于2020年2月18日,已超过51天没有更新,如果文章内容失效,请反馈给我们,谢谢!

分享到:
赞(1) 打赏 生成海报

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

帝一天博
在此声明如有侵权,违规等请发我邮箱(admin@diyigzs.com)告知。本人会看到立即删除!! 温馨提示:最近少出门小心传染谢谢大家配合
隐藏
变装
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册