找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 411|回复: 50

关于BBR调参的说明

[复制链接]

8

主题

262

回帖

552

积分

高级会员

积分
552
发表于 2017-6-26 19:37:46 | 显示全部楼层 |阅读模式
本帖最后由 Yankee 于 2017-7-1 13:43 编辑

前不久与MJJ分享了自定义BBR的一些经验,并作为示例给出了自己目前使用的版本;

此举本意在于面向比较重视开源与安全性的Geek,提供一个最大化压榨机器网络的可行方案,希望有抛砖引玉之效,结果却不甚理想,尝鲜者虽多,真正动手自行调参的使用者估计寥寥无几。

于是今天又试着在digitalocean lon1节点上调教了一番BBR,谨供各位参考。

由于现在do与大陆的链路基本不可用,目前还没摸索出比较graceful的“优化”策略,暂且使用了激进发包这种dirty的方式,如果有更温和高效的方案,欢迎提出 ;D

变更涉及如下:
[ol]
  • tso_segs_goal:7 >> tso_segs_goal:1 //禁用tso,与lotserver策略一致
  • bbr_bw_rtts:15 >> bbr_bw_rtts:18 //延长PROBE_BW状态
  • bbr_min_rtt_win_sec:20 >> bbr_min_rtt_win_sec:30 //延长min_rtt维持时间,尽量保持较大速率
  • bbr_probe_rtt_mode_ms:200 >> bbr_probe_rtt_mode_ms:180 //缩短PROBE_RTT状态,尽快进入PROBE_BW模式
  • bbr_cwnd_min_target:4 >> bbr_cwnd_min_target:6 //增大最小发包窗口
  • bbr_high_gain  = BBR_UNIT * 2885 / 1000 + 1 >> bbr_high_gain  = BBR_UNIT * 3921 / 1000 + 1 //增大pacing速率
  • bbr_full_bw_cnt=3 >> bbr_full_bw_cnt=4 //PROBE_BW状态下进行四次增窗,再假设网络信道已经饱和
  • bbr_lt_loss_thresh=50 //丢包重传阈值,越小丢包时越可能触发快速重传
  • bbr_sndbuf_expand=3 //发送缓冲区最大值
  • [/ol]复制代码
    其他改动:更激进的发包策略

    (tcp_tsunami.c, original)
    https://gist.github.com/anonymous/ba338038e799eafbba173215153a7f3a/raw/55ff1e45c97b46f12261e07ca07633a9922ad55d/tcp_tsunami.c

    (tcp_tsunami_lon.c)
    https://gist.github.com/anonymous/68b2f4d3fe3391ea0efc0613e42010d8/raw/d3be4901da3b08f35e36eddd042923dc6bd96351/tcp_tsunami_lon.c

    增大fq队列上限:
    [ol]
  • tc qdisc delete dev eth0 root fq
  • tc qdisc add dev eth0 root fq maxrate 1gbit limit 20000 flow_limit 10000 pacing refill_delay 30ms
  • tc -s -d qdisc show
  • /etc/init.d/networking restart[/ol]复制代码

    其余优化参照:
    https://github.com/shadowsocks/shadowsocks/wiki/Optimizing-Shadowsocks
    https://github.com/breakwa11/shadowsocks-rss/wiki/ulimit

    此次共使用了两台机器,部署于do lon1的46.101段网路,经测试分别安装lotserver和tcp_tsunami_lon后均能较流畅的加载y2b 1080P影像,效果基本满意。

    测试仅供参考,不保证普适性,还请各位针对所在网络状况自行调节适应。

    参考链接:
    1. http://blog.csdn.net/dog250/article/details/52939004
    2. http://blog.csdn.net/dog250/article/details/52879298
    3. http://blog.csdn.net/dog250/article/details/52972502
    4. https://patchwork.ozlabs.org/patch/671069/
  • 回复

    使用道具 举报

    8

    主题

    262

    回帖

    552

    积分

    高级会员

    积分
    552
     楼主| 发表于 2017-6-26 19:48:39 | 显示全部楼层
    本帖最后由 Yankee 于 2017-6-27 12:03 编辑

    FAQ:

    1.BBR适合那些用户?

    原则上所有希望“优化”网络的用户均适用,偏向开源方案、不喜黑箱者及强迫症患者尤其适用。

    2.锐速大 法好,入教保平安!

    请您务必继续用下去。谢谢。

    3.自定义BBR不适用于哪些人群?

    没有意愿动手调节适配者慎用。卫道士禁用。

    4.lotserver和BBR没有卯用,有没有专治一切垃圾线路的“优化”方案?

    有,而且是开源的:

    https://github.com/xtaci/kcptun
    https://github.com/Chion82/kcptun-raw

    后者自带fake tcp header,适用于udp丢包严重的地区
    以上方案配置不当会形成异常流量,可能被作为DDoS处理

    5.为什么要以BBR为框架?

    (1) BBR从内核层次避开了PRR的干涉,实现了对窗口的完全控制,这对传统的拥塞控制算法而言是很难做到的;
    (PRR会在丢包时无条件降低发包窗口)

    (2) BBR架构清晰,而cubic等传统算法使用了大量经复杂测量得到的魔术数字来调控其行为,很不直观;

    (3) BBR is powered by Google,Inc!!!!
    回复

    使用道具 举报

    8

    主题

    262

    回帖

    552

    积分

    高级会员

    积分
    552
     楼主| 发表于 2017-6-26 19:54:00 | 显示全部楼层
    本帖最后由 Yankee 于 2017-7-1 23:26 编辑

    Adaptive Branch of BBR Algorithm for IIJ only

    Update: Drain queue in PROBE_RTT mode to reduce losses

    https://gist.github.com/anonymous/3d9a9c400813e5101f733ddcde99364c/raw/2729ddceca5b912139c032f49080c9f662340f3e/tcp_iij2.c

    https://gist.github.com/anonymous/619fe7d6ad97f93d86ded25d81c75f2c/raw/e432720cd98f6da5f7bee2d5f4b85a11bbbee4fb/tcp_iij.c
    回复

    使用道具 举报

    9

    主题

    234

    回帖

    499

    积分

    中级会员

    积分
    499
    发表于 2017-6-29 21:37:18 | 显示全部楼层
    先顶一下,不懂怎么用
    回复

    使用道具 举报

    6

    主题

    40

    回帖

    104

    积分

    注册会员

    积分
    104
    发表于 2017-6-26 19:41:46 | 显示全部楼层
    前排支持
    回复

    使用道具 举报

    97

    主题

    740

    回帖

    1803

    积分

    金牌会员

    积分
    1803
    发表于 2017-6-26 19:45:28 | 显示全部楼层
    真干货。谢谢大佬
    回复

    使用道具 举报

    17

    主题

    1147

    回帖

    2359

    积分

    金牌会员

    积分
    2359
    发表于 2017-6-26 19:49:36 | 显示全部楼层
    感谢大佬分享。
    回复

    使用道具 举报

    4

    主题

    45

    回帖

    118

    积分

    注册会员

    积分
    118
    发表于 2017-6-26 19:53:20 | 显示全部楼层

    Yankee 发表于 2017-6-26 19:48

    FAQ:

    1.BBR适合那些用户?

    4.教育网IPv6用户还是得BBR
    回复

    使用道具 举报

    8

    主题

    262

    回帖

    552

    积分

    高级会员

    积分
    552
     楼主| 发表于 2017-6-26 20:15:08 | 显示全部楼层

    ccczer 发表于 2017-6-26 20:15

    4.教育网IPv6用户还是得BBR

    教育网tunnelbroker螺旋上天

    回复

    使用道具 举报

    191

    主题

    1564

    回帖

    3717

    积分

    论坛元老

    积分
    3717
    发表于 2017-6-26 19:48:00 | 显示全部楼层
    不是不愿意调,尼玛根本不会

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-2-12 00:54 , Processed in 0.028561 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表