TCP BBR试用体验

Kernel 4.9 正式版本的发布带来了一些令人激动的特性以及一些驱动的更新。
其中来自 Google 的 TCP BBR 拥塞控制算法也在这个版本并入了主线。
                                                       ———— 背景

今天和大神聊天的时候知道了TCP BBR这个神奇的控制算法。遗憾自己以前的孤陋寡闻,我对此等神器居然一无所知。为了尽快弥补这个遗憾,我大晚上的搭了一台测试机对TCP BBR进行了测试。
首先需要一台linux 4.9内核版本以上的机器(现在居然已经出到4.10了,不过gregkh已经宣布4.9将是LTS版本),我搜刮了我所有的机器发现居然没有一台的内核达标。于是在Vultr上买了一台新的CentOS来测试。
要在 CentOS 上安装最新的内核版本,我们需要增加一个 ELRepo 源。首先,让我们添加 ELRepo GPG key:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

之后添加 CentOS-7的 源:

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

安装fastestmirror (Vultr的镜像已经自带了,保险起见,可以确定一下)

yum install yum-plugin-fastestmirror

最后,安装 kernel 主线版本

yum --enablerepo=elrepo-kernel install kernel-ml

当然,将 kernel-ml 选为第一启动

grub2-set-default 0

重启后,通过 uname -a 查看内核是否已经切换到最新版

$ uname -a

在确定安装好了4.9以上版本内核之后,我们就可以开启TCP BBR了。

sudo echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
sudo echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

重启后,首先 uname -a 看下内核是否切换,然后执行下面明亮查看内核是否开启 TCP BBR

sudo sysctl net.ipv4.tcp_available_congestion_control
sudo sysctl net.ipv4.tcp_congestion_control

查看 tcp_bbr 模块是否加载

lsmod | grep tcp_bbr

如果已经加载成功,就可以愉快地开始测试了。实测发现TCP BBR确实可以有效提高上行速度,但效果没有网上其他的测评那么拔群,我这里差不多是200%的样子。

发挥所长 改变世界

这几天晚上睡得很晚,幸好总有一个我觉得很厉害的大神一直失眠,于是几乎每天都可以聊到天亮。
他的世界观就像他自己说的,确实很与众不同。在我目前短浅的人生阅历看来,那是彻底而纯粹的精英主义以及理想主义。与大众世界显得格格不入,但也正是因为如此,他也显得熠熠生辉。
我自己觉得我还是以利益为导向的。这里所说的利益可能更加倾向于普世价值,我是需要社会的认同感的,不然我会觉得很孤独。
最近的生活一直很“颓废“,过着黑白颠倒的生活,这可能是缺乏自我控制力吧。按老妈的话说,完全可以把晚上工作的时间移到白天来做的,我也知道这样会好一点,但是白天我就是不想写东西,摔~
学了将近一个月的机器学习了,感觉神经网络真的是一个巨大的宝藏,加上前辈们呕心沥血研发出来的各种工具,简直无往而不利。
这算是把这个月以来的生活回顾了一下,过两天有毕业设计的中期检查,打算检查完回家吃肉去,想想就很美好。

自由落体

那是一个很容易让人陷入其中的应用。
我可以在那里发现许多和我相同的人,仿佛在这个世界上我并不孤单。
但是同时我也知道,那里只是一个虚拟的世界。在现实中依旧没有我们的容身之所。
把虚拟世界带入现实是件恐怖的事情,我得好好调整一下了。