CentOS 6、7 部署 Google BBR 加速

    • what is BBR:
    • 适用场景:
  • 一、准备要求(Prerequisites)
  • 二、部署安装BBR
    • 1. 升级系统kernel(4.9.0 才开始支持 BBR)
      • CentOS 6:
      • CentOS 7:
    • 2. 设置新内核启动顺序,并重启生效
      • CentOS 6:
      • CentOS 7:
    • 3. 启用BBR 加速
      • CentOS 6/7:
  • 三、自动化脚本
  • 参考:
    • 1. [How to Deploy Google BBR on CentOS 7 in GCP](https://www.wangmin.info/recommend/centos_7_bbr_gcp.html)
    • 2.[https://groups.google.com/g/bbr-dev/c/8pgyOyUavvY?pli=1](https://groups.google.com/g/bbr-dev/c/8pgyOyUavvY?pli=1)

uptade : 2020-08-27

介绍:当我们对网络延时、丢包率等要求较高时,我们可以通过本身的骨干网络优化网络,或是专线,或是VPN,但是最底层的优化是系统优化,成本低,效果快;因此,想通过这篇一起和大家聊聊网络优化加速–BBR;

what is BBR:

TCP BBR是谷歌研发的TCP拥塞控制算法。BBR目的是要尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果。目的是最大化利用网络上瓶颈链路的带宽。

适用场景:

在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户(如VPS)。
Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。

一、准备要求(Prerequisites)

- A CentOS 6/7 x64 server instance.
- A sudo user.
- http://mirrors.coreix.net/elrepo-archive-archive/kernel/el6/x86_64/RPMS/

二、部署安装BBR

1. 升级系统kernel(4.9.0 才开始支持 BBR)

CentOS 6:

默认的CentOS 6的 elrepo 最新的kernel到 4.4.23 ,所以无法满足BBR安装要求;因此我们可以通过如下:

rpm -ivh http://mirrors.coreix.net/elrepo-archive-archive/kernel/el6/x86_64/RPMS/kernel-ml-4.18.20-1.el6.elrepo.x86_64.rpm

ERROR

error: "No such file or directory" setting key net.ipv4.tcp_congestion_control"   # kernel 内核版本不支持
CentOS 7:
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

2. 设置新内核启动顺序,并重启生效

CentOS 6:
vim /etc/grub.conf   # 编辑grub配置文件
修改 default 的值,一般是修改为0,因为 default 从 0 开始,一般新安装的内核在第一个位置,所以设置default=0
default=0
注:如果不生效可执行  grub-install  /dev/sda 或者  直接修改 /boot/grub/grub.conf 文件# 重启系统
shutdown -r now
CentOS 7:
# 查看当前内核顺序  默认从0 开始
[root@instance-1 ~]# egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d "'"
CentOS Linux (5.8.3-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.18.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-50fd61429ad54298a6c1c4853efd0257) 7 (Core)
## 设置kernel 启动顺序
[root@instance-1 ~]# grub2-set-default 0

3. 启用BBR 加速

CentOS 6/7:
# 配置内核参数
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf # 重新加载sysctl.conf 配置文件
[root@instance-2 ~]# sysctl -p#查看 net.ipv4.tcp_congestion_control  可选参数
[root@instance-2 ~]# sysctl  net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr#查看 net.ipv4.tcp_congestion_control  当前参数
[root@instance-2 ~]# sysctl -n  net.ipv4.tcp_congestion_control
bbr# 验证BBR 启用成功
[root@instance-2 ~]# lsmod | grep bbr
tcp_bbr                20480  10

三、自动化脚本

### kernel_update.sh   ***适用CentOS 7**** ###
#!/bin/bash
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
grub2-set-default 0  && shutdown -r now### bbr_on.sh ***适用CentOS 6/7****###
#!/bin/bash
uname -r
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
sysctl net.ipv4.tcp_available_congestion_control
lsmod | grep bbr

参考:

1. How to Deploy Google BBR on CentOS 7 in GCP
2.https://groups.google.com/g/bbr-dev/c/8pgyOyUavvY?pli=1

Centos 6、7 配置BBR加速相关推荐

  1. CentOS7 配置BBR加速

    CN2 的路线很慢,延迟几百ms,启用了BBR加速,看720p比较流畅,之前是240p都很卡,BBR加速很棒. 参考文献: CentOS 7 开启Google BBR

  2. linux最新bbr加速,CentOS 7.8 安装BBR加速

    1.yum系统更新 yum update 2.查看系统版本 cat/etc/redhat-release 输出如下则表示已升级到7.8 CentOS Linux release7.8.2003(Cor ...

  3. CentOS 8系统启用BBR加速

    启用BBR的条件是内核版本大于4.9 uname -r 可以查看内核版本 [root@localhost ~]# uname -r 4.18.0-305.3.1.el8.x86_64 CentOS8默 ...

  4. CentOS安装BBR加速

    CentOS安装BBR加速 一般情况下,VPS厂商的机器已经安装了BBR加速.对于没有安装BBR加速的机器执行下面的命令安装并启动. cd /usr/src && wget -N -- ...

  5. centos 7 Docker 安装及配置镜像加速

    centos 7 Docker 安装及配置镜像加速 文章目录 centos 7 Docker 安装及配置镜像加速 Docker 版本 基于 `CentOS `安装 `Docker` 引擎 系统要求 卸 ...

  6. Docker配置镜像加速(CentOS 7系统)

    Docker配置镜像加速(CentOS 7系统) CentOS的配置方式略微复杂: (1)先将默认的配置文件(/usr/lib/systemd/system/docker.service)复制到(/e ...

  7. CentOS 7服务器安装brook和bbr加速

    一.安装Brook 执行一键部署脚本 $ wget -N --no-check-certificate wget -N --no-check-certificate https://raw.githu ...

  8. CentOS7 开启 BBR 加速

    写了那么久的博客,始于Python爬虫,目前专于Java学习,终于有了属于自己的小窝,欢迎各位访问我的个人网站,未来我们一起交流进步. CentOS7 开启 BBR 加速 BBR 是 Google 开 ...

  9. centos7安装docker并配置镜像加速

    Centos7安装docker 并配置镜像加速 1.如果系统上之前有安装过docker 那么就需要先执行下面的命令 删除旧版本docker sudo yum remove docker \docker ...

最新文章

  1. FiM | 牧医所奶业创新团队建立瘤胃微生物脲酶的靶向宏蛋白质组方法
  2. ppt倒计时_曾因PPT倒计时动画困扰?这样做就利索了。
  3. 关于ABAP高级顾问应该掌握的技术
  4. pb怎么打开服务器上的文件夹,前台PB客户端怎么连接服务器上的SQL后台数据库...
  5. SFTPUtils工具类及使用
  6. directshow-faac编码
  7. 50个常用不定积分公式表_50个公式,50个快速解题法
  8. JTable 的使用
  9. python 乘法内置函数_Python内置函数--reversed()
  10. [BZOJ2440][中山市选2011]完全平方数(莫比乌斯函数,二分)
  11. 巴菲特如何滚雪球的?
  12. R的可视化の basic plot
  13. DIN 轴承标准目录
  14. MongoDB创建数据库
  15. mac注销快捷键_Mac小技巧 - 快捷键符号解释及用法介绍
  16. 解决vender-base.66c6fc1c0b393478adf7.js:6 TypeError: Cannot read property ‘validate‘ of undefined问题
  17. 使用java抓取金山词霸的每日一句
  18. UnRaid虚拟机安装Uos家庭版并由Windows远程桌面访问的成功流程
  19. 定时任务的 执行时间设置规则
  20. 图神经网络--图神经网络

热门文章

  1. mysql查询历史执行sql记录
  2. 机器学习中的无监督学习是什么?
  3. 生成哑变量的几种方法
  4. 读书笔记-《像高手一样发言》
  5. supervisor 使用详解
  6. google hacking常用语法
  7. greenplum安装方法详解
  8. 怎么做读书分享PPT课件?
  9. java中的接口是什么?
  10. Please, configure Web Facet first!