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

289 天前
 intlinfo

目前 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

1419 次点击
所在节点    程序员
7 条回复
lhbc
289 天前
测试 udp 需要用-l 设一下缓冲区大小
artnowben
289 天前
建议用 dperf 测一下
qyz0123321
289 天前
iperf3 在测试 tcp 的时候并不是真实发送数据包,而是通过延迟+window 扩展计算出来的一个理论带宽值,你可以 iftop 观察一下就知道了。
udp 因为没有这些参数,都是硬跑出来的一个值,能够比较准确反映出带宽。
你可以放一个大文件两边使用 wget 两边测试一下,我感觉 tcp 最多也就能跑 2G 。
ysc3839
289 天前
@qyz0123321 你确定不是真实发送?我这里测试用 iftop 看能看到有较大速度。
intlinfo
289 天前
@qyz0123321 好的,但是 wget 测的也是 tcp 流。我是想测试 udp 的真实带宽。
starryloki
289 天前
@intlinfo 用支持 http3 的 curl 可以曲线救国,我记得我用 iperf 测试 UDP 的时候需要配置的参数挺多的
artnowben
289 天前
带宽比较大的情况下,dperf 是比较好的测试工具,应为 dperf 使用 DPDK ,直接从网卡上 IO ,避免了 OS 的开销,能够准确测量出极限带宽。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/961079

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX