V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
intlinfo
V2EX  ›  程序员

关于 PVE 虚拟机内网 iperf3 数据较低问题,望大佬解答并能给出指点。

  •  
  •   intlinfo · 273 天前 · 1381 次点击
    这是一个创建于 273 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前 TCP 内网可达 20G 。 但是 UDP 内网只有 2G 不到。

    速度相差 18G ,目前没有头绪,请问大佬们,我这种情况是什么原因呢。

    测试命令:iperf3 -c 100.100.100.2 -P 10 -b 100000G -R -u

    系统参数 sysctl

    net.core.rmem_max = 16777216 net.core.rmem_default = 16777216 net.core.wmem_max = 16777216 net.core.wmem_default = 16777216 net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr net.ipv4.udp_mem = 756207 1024438 1536424 net.ipv4.udp_rmem_min = 513920 net.ipv4.udp_wmem_min = 513920

    99684e25831394c0f76fee9fef173838.jpeg a313015e2cdcd6b2bc005e0a6a318eb1.jpeg

    7 条回复    2023-07-31 14:39:32 +08:00
    lhbc
        1
    lhbc  
       273 天前 via Android
    测试 udp 需要用-l 设一下缓冲区大小
    artnowben
        2
    artnowben  
       273 天前
    建议用 dperf 测一下
    qyz0123321
        3
    qyz0123321  
       272 天前
    iperf3 在测试 tcp 的时候并不是真实发送数据包,而是通过延迟+window 扩展计算出来的一个理论带宽值,你可以 iftop 观察一下就知道了。
    udp 因为没有这些参数,都是硬跑出来的一个值,能够比较准确反映出带宽。
    你可以放一个大文件两边使用 wget 两边测试一下,我感觉 tcp 最多也就能跑 2G 。
    ysc3839
        4
    ysc3839  
       272 天前 via Android
    @qyz0123321 你确定不是真实发送?我这里测试用 iftop 看能看到有较大速度。
    intlinfo
        5
    intlinfo  
    OP
       272 天前
    @qyz0123321 好的,但是 wget 测的也是 tcp 流。我是想测试 udp 的真实带宽。
    starryloki
        6
    starryloki  
       272 天前
    @intlinfo 用支持 http3 的 curl 可以曲线救国,我记得我用 iperf 测试 UDP 的时候需要配置的参数挺多的
    artnowben
        7
    artnowben  
       272 天前
    带宽比较大的情况下,dperf 是比较好的测试工具,应为 dperf 使用 DPDK ,直接从网卡上 IO ,避免了 OS 的开销,能够准确测量出极限带宽。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5881 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:18 · PVG 10:18 · LAX 19:18 · JFK 22:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.