既然有人在问bbr哪个好,个人之前做了浅测比较

markfeng 2026-06-28 23:34 1

之前centos7.9的bbrplus 很厉害 研究了一下 捣鼓出来了此次文章里面的bbrplus-lite,因为涉及内核,所以只学习了一东西进行测试选择比较,看还有没有必要选择bbr plus,结果不言而喻


最佳网络配置选择报告


测试对象:RackNerd VPS 23.xx122

系统:Debian GNU/Linux 12 / Linux 6.1.0-9-amd64

测试时间:2026-06-28

测试方向:VPS → 本机下载方向

测试工具:iperf3 reverse mode

测试命令iperf3 -c 23.xxx.122 -p 5201 -R -t 12 -O 2

每组次数:3 次




1. 测试目标


从以下变量中选出当前线路最优组合:



  1. 拥塞控制:bbr / bbrplus-lite

  2. qdisc:fq / fq_pie

  3. Buffer/sysctl:基线参数 / 大 buffer 优化参数


共测试 8 组:


bbr + fq + base
bbr + fq + big
bbr + fq_pie + base
bbr + fq_pie + big
bbrplus + fq + base
bbrplus + fq + big
bbrplus + fq_pie + base
bbrplus + fq_pie + big

测试时不仅修改 net.core.default_qdisc,也实际执行:


tc qdisc replace dev eth0 root <fq|fq_pie>

确保当前网卡 eth0 的 qdisc 真实切换。




2. 测试结果排序


按 Receiver 平均速率从高到低排序:



















































































































排名 配置 拥塞控制 qdisc Buffer Receiver 平均 最小 最大 Sender 平均 平均重传
1 bbr_fq_pie_big bbr fq_pie big 5.0067 Mbps 3.41 6.81 6.2433 1104
2 bbrplus_fq_base bbrplus-lite fq base 4.6633 Mbps 2.36 6.21 5.56 1045.3
3 bbrplus_fq_big bbrplus-lite fq big 3.1733 Mbps 1.49 4.89 3.5267 666
4 bbr_fq_big bbr fq big 2.5333 Mbps 1.40 3.58 3.0567 638.7
5 bbr_fq_base bbr fq base 2.39 Mbps 1.75 3.41 2.7467 506
6 bbr_fq_pie_base bbr fq_pie base 2.1867 Mbps 1.75 2.45 3.4667 469
7 bbrplus_fq_pie_base bbrplus-lite fq_pie base 2.1837 Mbps 0.961 3.32 2.847 469.7
8 bbrplus_fq_pie_big bbrplus-lite fq_pie big 1.8957 Mbps 0.437 2.80 2.6027 395.7



3. 最终选择


当前线路最优组合是:


原生 bbr + fq_pie + 大 buffer 优化参数

平均 Receiver 速率:


5.0067 Mbps

相比第二名:


bbrplus-lite + fq + base = 4.6633 Mbps

提升约:


(5.0067 - 4.6633) / 4.6633 ≈ 7.4%

因此最终选择:


net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq_pie
大 buffer/sysctl 优化参数



4. 关键发现


4.1 bbrplus-lite 不是最优,但仍然很强


bbrplus-lite + fq + base 排名第二:


4.6633 Mbps

说明外部模块版 bbrplus-lite 是有效的,但在完整矩阵中没有超过:


bbr + fq_pie + big buffer

4.2 fq_pie 对 bbr 有明显收益


对原生 bbr 来说:


bbr + fq + base:       2.39 Mbps
bbr + fq_pie + big: 5.0067 Mbps

提升约:


109%

说明用户给出的方向对原生 bbr 是有效的。


4.3 fq_pie 对 bbrplus-lite 不适合


对 bbrplus-lite 来说:


bbrplus + fq + base:       4.6633 Mbps
bbrplus + fq_pie + big: 1.8957 Mbps

fq_pie + big buffer 反而让 bbrplus-lite 明显下降。


因此不要把“fq_pie + big buffer”简单套到 bbrplus-lite 上。




5. 已应用到服务器的最终配置


已将最佳配置应用并持久化。


5.1 当前运行状态


net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq_pie
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 131072 134217728
net.ipv4.tcp_wmem = 4096 131072 134217728
net.core.netdev_max_backlog = 300000
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.ip_local_port_range = 10240 65535
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_tw_reuse = 1
vm.swappiness = 10
net.ipv4.tcp_slow_start_after_idle = 0

当前 eth0 qdisc:


qdisc fq_pie ... root ...

5.2 持久化文件


/etc/modules-load.d/network-optimize.conf
/etc/sysctl.d/99-network-optimize.conf

/etc/modules-load.d/network-optimize.conf


sch_fq_pie
tcp_bbr

/etc/sysctl.d/99-network-optimize.conf


# Best measured profile on 2026-06-28: bbr + fq_pie + big buffer

# Queue & Congestion Control
net.core.default_qdisc=fq_pie
net.ipv4.tcp_congestion_control=bbr

# Buffer
net.core.rmem_max=134217728
net.core.wmem_max=134217728
net.core.netdev_max_backlog=300000
net.ipv4.tcp_rmem=4096 131072 134217728
net.ipv4.tcp_wmem=4096 131072 134217728

# File Handles
fs.file-max=2097152

# TCP
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fastopen=3
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_slow_start_after_idle=0

# Connection Queue
net.ipv4.tcp_max_syn_backlog=262144
net.core.somaxconn=65535

# Port Range
net.ipv4.ip_local_port_range=10240 65535

# Memory
vm.swappiness=10



6. 回滚方式


已创建回滚脚本:


/root/rollback-network-optimize.sh

执行:


bash /root/rollback-network-optimize.sh

会回滚到较安全的:


bbr + fq + 基线参数



7. 最终建议


选择:


bbr + fq_pie + big buffer

理由:



  1. 8 组矩阵中平均吞吐最高。

  2. 最小值也最高:3.41 Mbps,说明下限更稳。

  3. 比第二名 bbrplus + fq + base 高约 7.4%

  4. 使用原生 bbr,不依赖 out-of-tree bbrplus 模块,长期维护风险更低。


因此最终推荐保留当前已应用配置。




8. 原始数据文件


D:\Users\l\Documents\bbrplus-debian\full-matrix-raw-20260628-123301.txt
D:\Users\l\Documents\bbrplus-debian\full-matrix-results-20260628-123301.csv
最新回复 (17)
  • raptus 06-28 23:39
    1

    没开过

  • Tonycola 06-28 23:39
    2

    mark

  • m78星云第一帅哥 06-28 23:40
    3

    厉害

  • Supcutie 06-28 23:42
    4

    延迟稳定性也比较重要,有的老丢包

  • KEVI 06-28 23:42
    5

    什么模型?要 ss 看实际 TCP 窗口和重传计算。我感觉 BBR 一般就是最优解了 ^-^


    我感觉这里坑好多,真正跑起来,每次出的结果可能都不一样,实际的影响因素太多了,十几次的样本量还不够

  • HelloWorldx 06-28 23:43
    6

    大佬牛逼

  • mzne 06-28 23:45
    7

    看看bbr v3? 用xanmod内核就有了,不知道和bbrplus比如何

  • moremore 06-28 23:46
    8

    mark,回头细看。 ^-^

  • markfeng 楼主 06-28 23:53
    9

    @mzne #7 可以 找个时间 我来放到一起比较

  • markfeng 楼主 06-28 23:54
    10

    @KEVI #5 嗯嗯 是由这个实验影响 所以说是浅测,我本地是进行了几次测试 这是一次标准测试 都是bbr+优化参数胜出 后面我再出bbrv3 再看看

  • mubdao 06-29 00:11
    11

    岔眼收藏

  • Qaaaa 06-29 00:15
    12

    bbrfq

  • mouwen 06-29 00:36
    13

    可以的

  • zacharyzhang 06-29 00:37
    14

    bbrv3呢 ^-^ 在用这个

  • 深呼锡 06-29 01:05
    15

    bbr fq,一直这个

  • JackieWynn 06-29 08:54
    16

    简单来说

    普通线路/线路机,进一步提升网速,就bbr初版+fq,够用了

    如果是线路机追求延迟和丢包,就bbrv3+fq,很丝滑,cake也行,两者差别很小

  • 3kyu 06-29 08:58
    17

    支持探索精神~

* 帖子来源NodeSeek
返回