一、什么是BBR

一个来自Google开源的TCP拥塞控制算法。从Linux4.9 开始,Linux 内核已经用上了BBR算法。在部署了最新版内核开启了BBR算法,服务器网络性能可以得到很大得提升,甚至可以提升好几个数量级。

二、BBR的优点

  1. 在有一定丢包率的网络链路上充分利用带宽。
  2. 降低网络链路上的 buffer 占用率,从而降低延迟。

三、备份数据

内核升级可能会导致机器崩溃,尤其是云服务器,基本上要重装系统来恢复。所以安全起见,先备份好重要数据。每个人的数据不一样,说一下我本人备份的:

  1. wordpress 安装目录压缩打包备份
  2. nginx配置文件目录
  3. sql用sqldump或者workbench备份

确保备份完成后,再进行升级



四、升级ubuntu内核

BBR只支持 4.9.x 以上的内核。以本人的ubuntu 14.04为例,简要说明一下:

  1. 去ubuntu内核下载业下载 (内核下载链接)
  2. 下载几个文件,header_all、header_amd64、image几个文件
  3. sudo dpkg -i *.deb安装
  4. 重启服务器

五、查看BBR是否启用

  1. uname -r 看看高版本的内核是否已经启用
  2. 看看tcp可选里面是否有bbr
sysctl net.ipv4.tcp_available_congestion_control
  1. 看看当前tcp选的是哪个算法
sysctl net.ipv4.tcp_congestion_control
  • 看看是否加载内核驱动模块成功
lsmod |grep bbr
  • 没有的话,可以编辑/etc/sysctl.conf, 在文件末尾加上下面两行
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

六、测试实际效果

测试节点 From: Singapore - EC2 - Chrome - Cable
从新加坡的EC2节点用Chrome浏览器实测的结果

升级前,三次结果分别是:



  1. 14.02s
  2. 10.20s
  3. 13.93s
  4. 三次平均值为 12.7s

升级后,三次结果分别是:

  1. 5.17s
  2. 10.91s
  3. 7.43s
  4. 三次平均值为 7.7s



实际上本人测试过多个地区的数据,从结果来看,在网络特别差的时候可以节省 50% 的加载时间,网络相对好一点的地方,可以节省30%的加载时间。尤其是国外网络访问国内服务器,网络比较差,采用bbr算法优化tcp后有比较明显的提升。

后记

  1. BBR算法不是银弹,但是一般服务器要面对较为复杂的网络环境,一般情况下更换BBR是有提升的;
  2. 在网络特别差的情况下,BBR可以给加载速度带来更明显的改善;
  3. 对于大文件的http下载,改善也是很明显的。感兴趣的可以用wget、迅雷之类下载工具测试一下;
  4. 对于那些不是拿做网站的童鞋来说,也是有必要的。例如翻墙的梯子(代理)启用了BBR之后,可以让你的梯子速度提升几倍甚至一个数量级!!!

看了上面所说的,是不是很心动?那么快来升级体验黑科技吧!!!切记先备份哦!!!



有任何的疑问或者想法,或者对本文有质疑或者补充的话,欢迎在留言区评论,期待你的分享!

参考文章
《实测TCP BBR算法加速效果》
《Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势? – 李博杰的回答 – 知乎》
《一键安装最新内核并开启 BBR 脚本》



http://xzh.i3geek.com

爱唠叨的老鱼

爱唠叨的老鱼

技术经理,个人站长,创业者

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据