前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务器开启谷歌BBR加速网络

服务器开启谷歌BBR加速网络

作者头像
Y5neKO
发布2022-01-13 12:17:00
4K0
发布2022-01-13 12:17:00
举报
文章被收录于专栏:Y5neKO博客Y5neKO博客

老朋友都知道,之前的旧博客是用Wordpress搭建的,出于各种原因导致加载比较慢,再加上受到了大佬们的安利,所以改用了现在的Typecho,整站访问速度看起来还不错,但是某些地方还是有些瑕疵,所以在那之后我就一直在找能够有效加速网站访问速度的方法,然后在今天找到了谷歌BBR拥塞控制算法,开始着手配置。

注:本文部分内容引用于其他博客

0x00 概念

传统 TCP 拥塞控制算法,基于 丢包反馈 的协议。

基于「丢包反馈」的协议是一种 被动式 的拥塞控制机制,其依据网络中的 丢包事件 来做网络拥塞判断。即便网络中的负载很高时,只要没有产生拥塞丢包,协议就不会主动降低自己的发送速度。

这种协议可以 最大程度的利用网络剩余带宽,提高吞吐量。 然而,由于基于丢包反馈协议在网络近饱和状态下所表现出来的侵略性,一方面大大提高了网络的带宽利用率;但另一方面,对于基于丢包反馈的拥塞控制协议来说,大大提高网络利用率同时意味着下一次拥塞丢包事件为期不远了,所以这些协议 在提高网络带宽利用率的同时也间接加大了网络的丢包率 ,造成整个网络的抖动性加剧。

于是Google 的科学家们开发了一种过渡算法,这个算法的名字是 BBR(Bottleneck Bandwidth and RTT) ,它是一种全新的 拥塞控制算法 ,BBR 同 CDG 一致的思想是不以丢包作为拥塞控制信号,但是和 CDG 不同的是,BBR 能和 cubic 和 reno 共存。

BBR 由 Google 开发,供 Linux 内核的 TCP 协议栈使用,有了 BBR 算法,Linux 服务器可以显著提高吞吐量并减少连接延迟,简单来说 BBR 能加速网络传输速度。此外,部署 BBR 也很容易,因为该算法只需要发送方,而不需要网络或接收方的支持。

0x01 支持环境

系统:CentOS 6+,Debian 7+,Ubuntu 12+ 虚拟化技术:Xen、KVM、VMWare,不支持OpenVZ

Linux内核从4.9版开始集成BBR算法。相比锐速BBR的加速效果更为温和,并且占用内存小对服务器压力也很小,当时理想情况下是可以跑满整个服务器物理带宽,比锐速更加稳定,能够有效的降低服务器的网络丢包率,减少网络拥堵。

我的服务器用的是debian,由于Debian 9默认的内核版本就是4.9.x,我们不需要像别的系统需要更换内核,直接就能开启BBR算法。

0x02 配置BBR

0x02.1 检查内核

lsb_release -a或者uname -r命令:

代码语言:javascript
复制
root@iZ2ze0a8w2ct7qZ:~# uname -r
4.9.0-9-amd64

0x2.2 修改变量

代码语言:javascript
复制
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

sysctl -p命令保存。

0x2.3 查看内核是否已开启BBR

sysctl net.ipv4.tcp_available_congestion_control 如下显示表示开启成功:

代码语言:javascript
复制
# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno

0x2.4 查看BBR是否启动

代码语言:javascript
复制
lsmod | grep bbr

如下显示表示已经开始:

代码语言:javascript
复制
lsmod | grep bbr
tcp_bbr                20480  4

0x03 结语

综上,开启了BBR后测试了一下,效果不是很明显,可能是因为我的垃圾站还不至于到堵塞那一步吧; 于是为了安全性和访问速度,我还是毅然决然地投资了CDN,现在感觉速度还不错。 嘛,还是希望大家能多多帮我测试一下,让我的站能够配得上BBR(疯狂暗示)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年02月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 概念
  • 0x01 支持环境
  • 0x02 配置BBR
  • 0x02.1 检查内核
  • 0x2.2 修改变量
  • 0x2.3 查看内核是否已开启BBR
  • 0x2.4 查看BBR是否启动
    • 0x03 结语
    相关产品与服务
    内容分发网络 CDN
    内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档