专栏首页Eternally运维CentOS6/7开启谷歌官方版BBR内核TCP加速算法
原创

CentOS6/7开启谷歌官方版BBR内核TCP加速算法

BBR 是谷歌开源的一项针优化网络拥塞控制算法,该算法与锐速、FinalSpeed等都为单边加速、无须客户端,但是 BBR 可以免费使用,不存在授权的问题。Linux Kernel 4.9RC 之后的 Linux 内核已经集成了该算法,所以只需要将内核更换到最新即可开启。

值得注意的是

BBR 不能改变路由线路,该绕还是绕 安装和开启 BBR 需要更新内核,因此对于 VPS 而言,推荐选择 KVM 构架

本文将简述 BBR 在 CentOS 6/7 下的安装和启用的方法,整个流程也十分简单。

CentOS 6 1、查看默认内核

uname -r 2、查看并安装新内核

打开 >ELREPO 查看最新版本内核(替换下方代码中的内核链接)

rpm -ivh http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_64/RPMS/kernel-ml-4.12.0-0.rc3.el6.elrepo.x86_64.rpm --force 查询安装的内核列表,如果看到 kernel-ml-4.12.0-0.rc3.el6.elrepo.x86_64 ,说明内核安装成功了。

rpm -qa | grep kernel 3、重新启动

reboot 4、稍等一会,再次连上去之后,查看内核顺序

awk '/^title/ ' /etc/grub.conf 5、修改默认内核(根据步骤4查看,索引从0开始)

sudo vi /etc/grub.conf default=0 保存文件,再次重新启动

reboot 6、再次连上去之后,查询默认内核就是否刚安装的

uname -r 7、开启 BBR

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 如果前面几句都没报错,最后这句输出类似下面的信息,则说明成功了。

tcp_bbr 15864 12 CentOS 7 1、查看默认内核

uname -r 2、安装新内核

打开 >ELREPO 查看最新版本内核(替换下方代码中的内核链接)

rpm -ivh http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_64/RPMS/kernel-ml-4.12.0-0.rc3.el6.elrepo.x86_64.rpm --force 查询安装的内核列表,如果看到 kernel-ml-4.12.0-0.rc3.el6.elrepo.x86_64 ,说明内核安装成功了。

rpm -qa | grep kernel 3、重新启动

reboot 4、稍等一会,再次连上去之后,查看内核顺序

awk -F' '$1=="menuentry " {print $2}' /etc/grub2.cfg 5、修改默认内核

grub2-set-default 0 再次重新启动

reboot 6、再次连上去之后,查询默认内核。

uname -r 7、开启 BBR

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 如果前面几句都没报错,最后这句输出类似下面的信息,则说明成功了。

tcp_bbr 15834 15

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LNMTP安装脚本

    小俊丶Eternally
  • MySQL—MHA高可用

    如果文章出现不完整,可以去我的个人博客查看,个人博客地址:https://blog.97hjh.cn

    小俊丶Eternally
  • Nginx配置文件的理解

    小俊丶Eternally
  • madvise、fadvise、posix_madvise和posix_fadvise函数的使用

    m表示memory,f表示file,因此madvise是针对内存,而fadvise是针对文件。

    一见
  • 重学css3(概览)

    浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。

    IT人一直在路上
  • foxmail同步QQ邮箱里的所有文件夹

    随着微信消息的轰炸,我决定重拾邮箱。为了方便管理邮箱,我下载并试用了Foxmail和网易邮箱大师,Foxmail不确定用什么语言开发的,可能是C++或者Delp...

    meteoric
  • 编程生涯中遇到最厉害的三个技术大牛

    不知不觉编程也有十几年了,在编程过程中遇到了很多的技术牛人,不同的风格,今天正好有空给大家分享下。由于时间所限制不能一一陈列,现只是分三类来介绍 ? 知识渊博型...

    程序员互动联盟
  • centos yum update只升级软件不升级内核

    CentOS升级软件时不升级内核的命令如下 CentOS7.5/7.6 yum update --exclude "kmod-kvdo*,kernel*,cen...

    我爱你的一诺
  • linux内核态和用户态小结

    当进程执行系统调用而陷入内核代码中执行时,我们就称进程处于内核状态。此时处理器处于特权级最高的(0级)内核代码。当进程处于内核态时,执行的内核代码会使用当前的内...

    ydymz
  • 聊聊运维应该了解的一些内核知识

    本文主要是《Linux内核设计与实现》这本书的读书笔记,这本书我读了不下十遍,但依然感觉囫囵吞枣。我结合自己的理解,从这本书中整理出了一些运维应该了解的内核知识...

    力哥聊运维与云计算

扫码关注云+社区

领取腾讯云代金券