让 BBR 带你的 VPS 飞起来

谁一个月能用完 2TB 流量,125Mbps 带宽不用白不用)

(现在新版本的 Linux 内核默认启用 BBR ,不需要再手动操作了)

BBR 算法是由 Google 的一位工程师写的开源 TCP 拥塞算法,目的是尽可能地跑满带宽榨干网络。和锐速一样属于单边加速,不像 KCPTUN 需要双边部署。小梦在自己的 Linode 上试了下,效果提升真的非常明显,浏览器自带下载都能跑满我的本地带宽(8~9 MB/s),而安装前只有一二百 KB。

那么就开始折腾吧,因为是去年下半年才出来的新东西,所以 Linux 4.9 才正式加入。因此你需要一台可以更换内核的 VPS。无论是 KVM 还是 Xen 都可以,但辣鸡 OpenVZ 就不要想了

Linode 后台虽然提供了一个 4.9.0 版本的内核,但小梦试了一下发现并不能成功开启 BBR,因此还需要手动换内核。

(以下内容以 64 位 Ubuntu 为例)

首先登录 SSH,敲:

apt-get install linux-image-virtual grub2

linux-image-virtual 好像装不装没所谓。gurb2 装的时候会问你安装位置,网上说选择不安装,小梦装在了默认的系统盘,装好之后也不需要配置什么,因为好像没什么问题的样子)不放心的话可以戳这里

接着进入 Linode 后台,编辑配置文件,将 Kernel 改为 GRUB 2(如下图),然后 Shutdown & Boot 你的 Linode。

image

重启完了之后,登录 SSH。开始敲代码:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.3/linux-image-4.9.3-040903-generic_4.9.3-040903.201701120631_amd64.deb
dpkg -i linux-image-4.9*.deb
dpkg -l|grep linux-image
apt-get purge OLD_KERNEL_NAME

如果你是 32 位的系统,wget 的时候需要记得改成这个:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.3/linux-image-4.9.3-040903-generic_4.9.3-040903.201701120631_i386.deb

之后开启 BBR:

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

其实前两行 echo 后面引号里的内容你也可以自己 vim 加到对应的文件里,不过这样更方便不是嘛。

然后执行下面的命令检查 BBR 是否生效。

sysctl net.ipv4.tcp_available_congestion_contro
# 返回值一般为:net.ipv4.tcp_available_congestion_control = bbr cubic reno,有 bbr 即代表生效
sysctl net.ipv4.tcp_congestion_control
# 返回值一般为:net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
# 返回值一般为:net.core.default_qdisc = fq
lsmod | grep bbr
# 返回值有 tcp_bbr 模块即说明 BBR 已启动。

最后为了保险起见,reboot 一下,然后扔掉的 KCPTUN,享受美好生活吧~

评论

  1. 4年前
    2017-1-29 18:10:41

    让我想到酷安某人根据百度云的限速规律开20000线程下载满速的故事......

    • Robotxm 博主
      4年前
      2017-1-29 23:19:58

      他的机子没炸真是好啊2333333

  2. 4年前
    2017-3-12 14:09:08

    高考毕业就弄一个vps[滑稽]

    • Robotxm 博主
      4年前
      2017-3-12 14:11:43

      2333

  3. 4年前
    2017-10-06 17:17:07

    其实换个linux内核就行,已经集成到最新linux内核里了

    • Robotxm 博主
      4年前
      2017-10-07 18:32:33

      当时写这篇文章的时候Linode自带内核还没集成BBR,后来Linode全线上4.9就好了。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇