Effect of BBR Congestion Control

BBR拥塞控制效果实测

Brief: The congestion control method — BBR, is widely praised. So I decide to enable it on my VPS. This blog will record the procedure and figure out the actual impact.

突然想起很久以前立的flag,把我的vps全部更新内核开启BBR(具体百度吧,介绍很多了),终于最近有空弄弄了。顺便对比下开启bbr前后的差异(PS:由于不是非常严格的对比,所以没有控制变量,没有重复实验,连测速都是截的某一时间的值(人工取平均。。。哈哈哈),各位看官看看心里有数便罢)。

弄了DigitalOcean新加坡(SGP)和纽约(NY)机房的两个机子(点这个链接注册送$10,互利互惠哈:DigitalOcean: Cloud computing designed for developers)作比较,先说下系统环境:

帝都移动100M(严重怀疑没有)宽带,

SGP的是台ubuntu,内核4.4,

NY的是CentOS7.5,内核3.10,

测速方法见:在vps上配置nginx的简单http文件下载服务。

安装nginx就不必多说,在配置路径下,比如/etc/nginx/conf.d/

新建一个bbr_test.conf的配置文件,当然随便起名字也可以,如果/etc/nginx/nginx.conf里没有include /etc/nginx/conf.d/*.conf,要先加这句,或者直接改nginx.conf,在http大括号中填上同样内容。

bbr_test.conf里的内容(如下也可在直接复制到nginx.conf的http大括号中)是

然后在/home/test/ 路径下放置一个测试用的下载文件,我这里放了个100MB的,从DO官方测速网站下载的:http://speedtest-nyc2.digitalocean.com/100mb.test

上述搭好后重启nginx

service nginx restart

然后在测试终端上wget http://***.***.***.***:101/100mb.test即可。

https://segmentfault.com/a/1190000008395823

分别用我的一台cubieboard的wget,win8的搜狗浏览器下载,以及迅雷下载、IDM下载,

BBR开启前

延时:

wget:

搜狗浏览器下载:

这里多说下,搜狗浏览器自带的下载器我猜测应该是应用了类似离线下载的辅助加速吧,所以开启BBR的效果不准确,这也说明,要指望开启BBR能带来巨大的效果提升,必须考虑使用情况,网络状况等。

迅雷:

开启方法:

升级内核—>改配置,网上教程也很多,具体参看文末的参考资料,注意的是根据自己的机器字长和系统版本选择升级方法,升级到linux内核4.9以上就行了。因为各自系统不一样,我就不复述了。插一句,我给我的一个CentOS 6.5  32位,kernel 2.6 的VPS升级却始终不成功。非常郁闷,只好新开一个VPS做实验了。。。

开启后测试:

ping是不受影响的哈,

wget:

sougou:

迅雷:

IDM:

可以看到是有明显提升的,后面有测了SGP的一台ubuntu,这里就列个表对比下吧

before BBR enable after BBR enable
location NY SGP NY SGP
ping 273ms 77ms 273ms 77ms
wget 3.61M/S 4.49 M/S 7.38M/S 11 M/S
sougou 5.47 M/S 8.78 M/S 6.20 M/S 6.38 M/S
thunder 2.86 M/S 2.98 3.33 M/S 4.55 M/S
IDM 5.22 M/S 8.72 M/S

可以看到开启BBR至少在大文件的下载上有很明显的提升。

 

参考与拓展资料:

实测TCP BBR算法加速效果:

https://segmentfault.com/a/1190000008395823

Ubuntu内核升级以及如何开启BBR加速:

https://blog.csdn.net/haha_ym/article/details/78440415

Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势?

https://www.zhihu.com/question/53559433

 

发表评论