V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
liyuhang
V2EX  ›  Linux

AWS Linux AMI 升级 Kernel 4.9 后如何启用 BBR

  •  
  •   liyuhang · 2016-12-25 16:39:35 +08:00 · 8180 次点击
    这是一个创建于 2919 天前的主题,其中的信息可能已经有所发展或是发生改变。
    error: "No such file or directory" setting key "net.ipv4.tcp_congestion_control"
    HVM 架构,似乎不支持 BBR ?
    34 条回复    2017-01-19 12:38:56 +08:00
    Remember
        1
    Remember  
       2016-12-25 16:52:06 +08:00
    只要能升级内核都支持。
    ethanlu
        2
    ethanlu  
       2016-12-25 16:56:14 +08:00
    BBR 效果明显吗?感觉就跟锐速没区别
    skydiver
        3
    skydiver  
       2016-12-25 16:59:20 +08:00 via Android
    你执行的什么命令这是…
    d7101120120
        4
    d7101120120  
       2016-12-25 17:02:45 +08:00
    4.9rc8 才开始支持 BBR
    开启命令是

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

    检查是否生效是
    sysctl net.ipv4.tcp_available_congestion_control
    shierji
        5
    shierji  
       2016-12-25 17:06:36 +08:00 via Android
    @d7101120120 检查生效那个错了……那个命令是看内核有没有加载模块的
    liyuhang
        6
    liyuhang  
    OP
       2016-12-25 17:13:03 +08:00
    @skydiver @d7101120120
    我执行的和 4 楼的一样

    # echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    # echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
    # sysctl -p
    net.ipv4.ip_forward = 0
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.default.accept_source_route = 0
    kernel.sysrq = 0
    kernel.core_uses_pid = 1
    net.ipv4.tcp_syncookies = 1
    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.shmmax = 68719476736
    kernel.shmall = 4294967296
    net.core.default_qdisc = fq
    error: "No such file or directory" setting key "net.ipv4.tcp_congestion_control"


    目前状态是
    # sysctl net.ipv4.tcp_available_congestion_control
    net.ipv4.tcp_available_congestion_control = cubic reno
    d7101120120
        7
    d7101120120  
       2016-12-25 17:13:57 +08:00
    @shierji 哦哦是的,应该是 lsmod | grep bbr 命令是查看是否生效的。
    d7101120120
        8
    d7101120120  
       2016-12-25 17:15:24 +08:00
    @liyuhang 你的确定是内核是 4.9rc8 吗?
    liyuhang
        9
    liyuhang  
    OP
       2016-12-25 17:15:57 +08:00
    # uname -r
    4.9.0

    以前的内核是 4.4 ,还没有删除,升级内核的时候需要注意什么才能启用 BBR 吗?
    liyuhang
        10
    liyuhang  
    OP
       2016-12-25 17:17:03 +08:00
    @d7101120120 4.9.0 ,是不是只有 4.9rc8 版本才可以?
    skydiver
        11
    skydiver  
       2016-12-25 17:19:22 +08:00
    @liyuhang 你这个根本就没启用 bbr 模块啊,试试 modprobe tcp_bbr 看看
    liyuhang
        12
    liyuhang  
    OP
       2016-12-25 17:20:43 +08:00
    @skydiver modprobe: FATAL: Module tcp_bbr not found.
    在哪启用?
    liyuhang
        13
    liyuhang  
    OP
       2016-12-25 17:22:55 +08:00
    @skydiver 我编译时用的是 make menuconfig ,然后直接 SAVE 了,是不是不能这样
    skydiver
        14
    skydiver  
       2016-12-25 17:23:41 +08:00
    @liyuhang 那就是编译的时候没编译进去。你需要 config 的时候启用才行
    EchoChan
        15
    EchoChan  
       2016-12-25 17:27:37 +08:00 via iPhone
    4.9 正式版都有了,为什么还要用 rc8 呢
    liyuhang
        16
    liyuhang  
    OP
       2016-12-25 17:30:20 +08:00
    @skydiver 在.confg 里插入一行 CONFIG_TCP_CONG_BBR=y 吗?
    d7101120120
        17
    d7101120120  
       2016-12-25 17:30:59 +08:00
    @liyuhang rc8 开始支持 bbr 的,这 4.9 不都已经是正式版了吗?照说应该是支持的。可能是楼上说的原因,编译的时候没有启用。我之前 ubuntu 是直接用 kernel.ubuntu.com 现成的内核直接替换的。
    wly19960911
        18
    wly19960911  
       2016-12-25 17:38:44 +08:00 via Android
    http://m.blog.csdn.net/article/details?id=53730374
    转发一篇文章你们讨论看看吧(本身不学这方面什么都不懂
    d7101120120
        19
    d7101120120  
       2016-12-25 17:59:32 +08:00
    @wly19960911 这文章写的可真乱。。。还充满着各种自我装逼和对别人的嘲讽
    liyuhang
        20
    liyuhang  
    OP
       2016-12-25 18:12:33 +08:00
    @d7101120120 @skydiver 成功了(编译时在 .config 文件中插入 CONFIG_TCP_CONG_BBR=y 就好了)
    wxdjs
        21
    wxdjs  
       2016-12-25 18:19:56 +08:00
    感觉效果不明显
    dlsflh
        22
    dlsflh  
       2016-12-25 18:47:22 +08:00 via Android
    只对 ipv4 有效果吗?我主力可是 ipv6 啊。
    d7101120120
        23
    d7101120120  
       2016-12-25 18:55:49 +08:00
    @dlsflh 这个本身是 tcp 拥塞算法,肯定是支持 ipv6 的。
    trepwq
        24
    trepwq  
       2016-12-25 18:57:00 +08:00 via iPhone
    跟 linode 类似,常规更换内核方式不起作用,没用过 aws ,看看 web 设置界面有没有更换内核的选项
    XiaoxiaoPu
        25
    XiaoxiaoPu  
       2016-12-25 19:05:32 +08:00   ❤️ 1
    @dlsflh 支持的, IPv6 用的也是 net.ipv4.tcp_congestion_control 这个设置
    zhong00123
        26
    zhong00123  
       2016-12-25 19:24:45 +08:00
    能换内核就能开...先 uname -a 看看是不是运行在 4.9 内核上
    不过 BBR 说真发包策略和满大街都是的开心版锐速比,还是太保守了...邻居都在用锐速,你用 BBR 跟没开也没两样....
    kang000feng
        27
    kang000feng  
       2016-12-26 01:22:59 +08:00
    @zhong00123 姿势不对? 好像比锐速快一倍 https://www.dou-bi.co/wlzy-15/
    zhong00123
        28
    zhong00123  
       2016-12-26 15:58:53 +08:00 via Android
    @kang000feng 他锐速姿势不对...而且测速用 y2b 那个速度显示未免太儿戏...
    kang000feng
        29
    kang000feng  
       2016-12-26 19:01:55 +08:00
    @zhong00123 求正确姿势! 除了以下几项外还有要修改的吗? 谢谢!
    rsc="1"
    gso="1"
    maxmode="1"
    advinacc="1"
    okudayukiko0
        30
    okudayukiko0  
       2016-12-26 20:13:38 +08:00 via iPhone
    觉得 BBR 还是有一定加速效果的,另外据说锐速官方已经不开发了
    okudayukiko0
        31
    okudayukiko0  
       2016-12-26 20:14:47 +08:00 via iPhone
    HVM 应该能用 BBR 啊,但据说某些发行版的 4.9 内核没有编译 BBR
    acdfjelxe
        32
    acdfjelxe  
       2016-12-27 00:38:20 +08:00 via Android
    一般 distro 自带的内核都会把 bbr 编成 module ,服务商给你搞的就不确定了,我在 Linode 就没找到
    logfile
        33
    logfile  
       2017-01-02 10:54:34 +08:00 via iPhone
    bbr 开启后,目测下载 u2b 的视频满速
    ghui
        34
    ghui  
       2017-01-19 12:38:56 +08:00
    为什么我开启后从服务器上下载一个文件的速度并没有改变。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:45 · PVG 09:45 · LAX 17:45 · JFK 20:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.