ermao 发表于 2025-4-2 17:10

双CX4网卡,局域网PVE和Windows互联,上传下载速度严重不一致

本帖最后由 ermao 于 2025-4-2 18:23 编辑

机器说明:
PVE机器:W680主板,cpu i5 12500,memblaze p6537,通道pcie 4.0x4,网卡是小黄鱼收的cx4121a 25双口
windows机器:X570主板,5900x,网卡也是同款cx4121a 25双口
接线:windows与pve分别设置静态ip然后用25GB AOC线直连,win和pve的另一个光口都连交换机

我从PVE建了一个SMB给windows用发现上传和下载速度不一致,就用crystaldiskmark测试了一下SMB的速度



发现从PVE->windows的顺序读取速度比写入速度慢很多很多,而且远未达到网卡上限,这不符合直觉,一通debug之后我发现是网速本身的问题:
我在PVE宿主和windows两端各启了一个iperf3来测速,发现pve作为iperf3 server,windows作为client,即windows往PVE上传数据的时候,速度接近网口速度上限:


但是当windows作为iperf3 server,PVE作为client的时候(pve往win上传数据),同样是并行度=3,速度就只在900MB/s上下浮动,和之前crystaldiskmark测试的结果吻合


我用ethtool看了pve上的网卡速度确定是25G:


看了windows对应网口的速度也是25G:


搞不明白 win上传->pve 的速度是正常的(~25G),但是win从pve下载的速度就远低于这个速度,两边配置都说自己是全双工的25G,是不是win还是pve有什么cx4的默认配置不对需要改的问题,我全默认用的,我能想到的check都做了也没发现问题在哪里[晕倒],求大神指点迷津[可爱]

乐乐爱乔 发表于 2025-4-2 17:35

是win10么?我发现我的一个电脑win10设置MTU=9000无效,速度也是700M左右(10G交换机),win server2022设置MTU9000后就正常了。

brucelee1126 发表于 2025-4-2 17:35

这种问题已经把我搞得很头大的,我连硬盘都换了两三批了,我现在也是从服务端读取速度低,往服务端写入速度高,但是你这个太低了,我往服务端写入能达到5000m以上,从服务端读取2000m以上,双口smb多通道

ermao 发表于 2025-4-2 17:43

brucelee1126 发表于 2025-4-2 17:35
这种问题已经把我搞得很头大的,我连硬盘都换了两三批了,我现在也是从服务端读取速度低,往服务端写入速度 ...

虽然有双网口,但我不是双通道,是单口25G,另一个接交换机去了,理论速度确实有3.125GB/s,我能有2.79G左右感觉已经很满足了,但是从服务端读才900MB/s也太低了,不知道问题出在哪里[流泪][流泪]

ermao 发表于 2025-4-2 17:44

乐乐爱乔 发表于 2025-4-2 17:35
是win10么?我发现我的一个电脑win10设置MTU=9000无效,速度也是700M左右(10G交换机),win server2022设 ...

[流泪]win11, 24H2[流泪],pve是8.3最新版[流泪]

天道太酬勤 发表于 2025-4-2 17:56

不开RDMA的话很吃CPU性能

ermao 发表于 2025-4-2 18:06

天道太酬勤 发表于 2025-4-2 17:56
不开RDMA的话很吃CPU性能

主要是我看两边的CPU占用都很低(<20%),因为我把负载都关了测的,而且要是上传速度和下载速度相近我也觉得可能是其他硬件资源的问题,但是从pve读取的速度明显慢于写入pve的速度,都慢了一半还多了也差太多了,百思不得其解[流泪]

皛羽控 发表于 2025-4-2 18:33

本帖最后由 皛羽控 于 2025-4-2 18:35 编辑

咦这几天倒数据也有同样问题往truenas上传数据能到140MB/s,从truenas上下数据只能到70MB/s[生病]

mdk2000 发表于 2025-4-2 18:37

无解的,win10,11客户端读取网络限制在了10g(系统高负载)-20g(系统闲置),而且是共享,哪怕你接了几块网卡都无法突破

只能换成win10,11 企业级,ltsc这种才能突破

eeechi444 发表于 2025-4-2 18:52

好奇的问一下win的机子内存是啥

oz0140 发表于 2025-4-2 18:58

ermao 发表于 2025-4-2 18:06
主要是我看两边的CPU占用都很低(

总占用低,但是你看看是不是只有一个核在跑。。。这种情况最恶心人,很容易忽略

rdlrdlrdl321 发表于 2025-4-2 19:04

别纠结了 这个问题我以前也遇到过除了重装系统外 基本无解
这就是SMB的BUG

要么想办法开RDMA   开启后 保证双向能跑满

shiangyeh 发表于 2025-4-2 19:10

天道太酬勤 发表于 2025-4-2 17:56
不开RDMA的话很吃CPU性能

这种速度不需要RDMA

天道太酬勤 发表于 2025-4-2 19:32

本帖最后由 天道太酬勤 于 2025-4-2 19:34 编辑

ermao 发表于 2025-4-2 18:06
主要是我看两边的CPU占用都很低(

吃单核,我的PVE配置比client低,所以读写速度刚好跟你相反,我是读1000写2000

天道太酬勤 发表于 2025-4-2 19:35

shiangyeh 发表于 2025-4-2 19:10
这种速度不需要RDMA

实践出真知

shiangyeh 发表于 2025-4-2 20:21

天道太酬勤 发表于 2025-4-2 19:35
实践出真知

我试过呀,同款配置,服务器是WIndows加上两块SN640,开启RDMA后主要是CPU占用低了,但是用iperf3打流,速度区别不大,不可能像楼主这种。

两边都是Windows

天道太酬勤 发表于 2025-4-2 20:24

shiangyeh 发表于 2025-4-2 20:21
我试过呀,同款配置,服务器是WIndows加上两块SN640,开启RDMA后主要是CPU占用低了,但是用iperf3打流, ...

iperf3打流没有意义,可以开N线程把速度拉上去,而SMB是吃单核

ermao 发表于 2025-4-2 21:13

mdk2000 发表于 2025-4-2 18:37
无解的,win10,11客户端读取网络限制在了10g(系统高负载)-20g(系统闲置),而且是共享,哪怕你接了几块网卡都无 ...

大佬我的版本是win11 pro难道也不行吗[流泪]

ermao 发表于 2025-4-2 21:13

皛羽控 发表于 2025-4-2 18:33
咦这几天倒数据也有同样问题往truenas上传数据能到140MB/s,从truenas上下数据只能到70MB/s ...

减半的这种行为跟我一模一样啊
[流泪]

ermao 发表于 2025-4-2 21:14

eeechi444 发表于 2025-4-2 18:52
好奇的问一下win的机子内存是啥

上一代DDR4,芝奇的皇家戟

ermao 发表于 2025-4-2 21:19

天道太酬勤 发表于 2025-4-2 20:24
iperf3打流没有意义,可以开N线程把速度拉上去,而SMB是吃单核

我实验了一下就是-P 20开20个一起跑确实比-P 3的900MB从提升到1.1GB/s左右,但再往上加,什么-P 25, -P 30也一点用都没有了,没道理一边iperf3能跑满,另一边只有一半速度啊[流泪]

ermao 发表于 2025-4-2 21:20

天道太酬勤 发表于 2025-4-2 20:24
iperf3打流没有意义,可以开N线程把速度拉上去,而SMB是吃单核

我感觉大伙都像即插即用,我怎么连iperf3测速度也是一边基本满速另一边只有半速的,难道什么全双工都是骗人的吗[流泪]

iooo 发表于 2025-4-2 22:34

PVE机器上win看看咯,八成还是PVE的问题

mdk2000 发表于 2025-4-2 23:14

ermao 发表于 2025-4-2 21:13
大佬我的版本是win11 pro难道也不行吗

兄弟别再折腾了,都说无解,只能装企业版,数据中心版

Dolfin 发表于 2025-4-2 23:54

同时打开两个iperf3,开两个端口监听,再打流,能跑满吗

ermao 发表于 2025-4-3 00:37

Dolfin 发表于 2025-4-2 23:54
同时打开两个iperf3,开两个端口监听,再打流,能跑满吗

开了两个端口,然后分别-P 15,也就是30个thread一起跑,结果加起来的成绩还更差了[流泪] ,但是反过来对着pve写的话只要-P > 2就稳定跑满

Dolfin 发表于 2025-4-3 01:13

ermao 发表于 2025-4-3 00:37
开了两个端口,然后分别-P 15,也就是30个thread一起跑,结果加起来的成绩还更差了 ,但是反过来对着pve ...

有DAC吗?要不试试

Juzi丶 发表于 2025-4-3 04:50

本帖最后由 Juzi丶 于 2025-4-3 04:52 编辑

因为现在win的rsc是坏的,会影响全部eth网卡的下行性能

windows的网卡(winof2驱动为例)
receive buffers改到4096
recv segment coalescing的v4和v6都关掉

然后
Get-NetAdapterRsc
看是否生效了


netsh int tcp show global
里面的
接收段合并状态
是要开启的



还有,两端测试的iperf3都请使用至少3.16或以上的版本

Juzi丶 发表于 2025-4-3 04:53

另外现在win的smb多通道也是坏的,都万兆了就不要多通道了,完全没有意义的

existence 发表于 2025-4-3 08:12

win10 21h210g光口,服务端ubuntu   单线程3.43g(450MB每秒)前后, 3线程9G 双向速度都差不多,你没试试单线程能跑多少, win的smb真是很难受, 双向都是ubuntu 单线程直接跑满 9.58G 双向速度都一样   据此还是建议lz从win方向入手吧, 如果有成果我也来抄个作业哈哈
页: [1] 2
查看完整版本: 双CX4网卡,局域网PVE和Windows互联,上传下载速度严重不一致