Windows 10 的 10G 网络性能非常糟糕,有什么办法优化吗?

2022-04-03 21:42:18 +08:00
 oovveeaarr
最近想要在家里组建 10G 网络环境,结果发现 Windows 跑 10G 有很严重的性能问题。

测试使用 iperf 进行多线程、单线程测试

Windows 10 测试结果
单线程:接收 2-2.5Gbps 发送 4-5Gbps
5 线程(尝试使用网卡自带的优化工具优化后):接收 2-5Gbps 发送 5-6 Gbps
5 线程(未使用网卡自带优化):接收 2-2.5Gbps 发送 4-6 Gbps

Ubuntu 20.04 测试结果
单线程:接收 8.5-9.5Gbps 发送 8.5-9Gbps
多线程:接收 8.5-9.5Gbps 发送 8.5-9Gbps
双向单 /多线程:U/D 9.0Gbps/8.5Gbps

Ubuntu 的测试结果非常正常,反之 Windows 的测试结果却非常差;目前已经尝试过:
1.使用网卡自带优化程序优化
2.开启所有 offload
3.尝试使用 smb 等测试方式

结论基本都接近上述测试结果,且在测试过程中,Windows 中部分 CPU 会被完全吃满(超线程不吃),感觉像是驱动 /CPU 性能问题。但是尝试过将 CPU 超频等操作,似乎没有很明显的改善。
但是根据卖家、第三方、还有热心网友发的评测看来,Windows 下这个结果是非常不符合预期的。

请问大家有什么想法吗?
7665 次点击
所在节点    宽带症候群
38 条回复
fan88
2022-04-07 05:33:33 +08:00
@oovveeaarr 我重启一下就变成 4G 下行,8G 上行了,感觉和电脑负载也有关系?我是 AMD 的板子
fan88
2022-04-07 05:37:42 +08:00
目前又测了下,单线程下行 3G ,上行 6G 。上行双线程就可以跑满大概 9.42G 。下行 3 线程最大 7.2G (但不稳定,有时候只有 5G )
oovveeaarr
2022-04-08 16:48:20 +08:00
@cnbatch #20 谢谢大佬提供的信息,我晚点试试开到 9000MTU 试试。

@fan88 #21 是的,他会吃满不含超线程的 CPU ,如果 CPU 负载高,吞吐率就下去了。所以会有一定的波动
oovveeaarr
2022-04-08 16:50:04 +08:00
更新一下更换网卡后的测试,这次使用了 Intel 的 X710 作为测试网卡

Windows 10 测试结果
单线程:接收 0.6-1.5Gbps(多数情况 1Gbps) 发送 3-5Gbps
5 线程:接收 0.6-1.5Gbps(多数情况 1Gbps) 发送 4-5Gbps
oovveeaarr
2022-04-08 16:51:07 +08:00
作为对比,Intel 的 X710 测试结果远远差过 Mellanox 的结果,看来 Intel 的驱动还是不太行,Windows 的网路性能看样子也不太行的样子。
oovveeaarr
2022-04-08 17:03:40 +08:00
不小心发出去了

作为对比,Intel 的 X710 测试结果远远差过 Mellanox 的结果,看来 Intel 的驱动还是不太行,Windows 的网路性能看样子也不太行的样子。

具体到实际情况中:
Intel 的驱动在 Recv 测试中,会固定吃满 CPU0 的非超线程核心,看起来不支持多线程,导致系统中断延迟;具体表现为系统整体卡顿,鼠标键盘失去响应,显卡停止渲染。其测试结果和 CPU0 的负载呈反比,基本上在 600Mbps-1Gbps 之间摆动。
仔细调整、寻找 Intel 网卡驱动配置后,结果没有任何改善。

而 Mellanox 驱动可调整的项目则比 Intel 多很多,具体而言默认情况下,在 Recv 测试中会吃满包含 CPU0 (会有一定余量)在内的其余核心非超线程部分(无余量)。测试时,鼠标、键盘、显卡渲染正常,但是系统响应会有所延迟。通过配置调整后可以避开 CPU0 ,从而改善对系统的影响。
通过网卡自带的优化程序优化后,测试结果大概是 2-5Gbps ( Mellanox 的驱动偶尔似乎也不会吃满所有核心);我个人是 4 核心的 CPU ,那么按照 Intel 的测试结果来比较,最终的测试结果却是也是单核心性能的 4 倍左右,从这点来说是符合预期的。

从上述测试,得出如下结论
1.Windows 的网路性能不知为什么性能非常差,对 CPU 要求非常高,这点暂时不清楚是个例还是都是这样。默认情况下很难跑满 10Gb 的接收性能,需要开启巨帧(改善幅度未测试)
2.Intel 在 Windows 下的驱动仅支持 RSS 单线程,但是驱动中支持多队列(默认 16 ),为什么不能使用到多线程原因不明。
3.Intel 驱动默认吃满 CPU0 ,对系统的影响非常大,会导致系统直接假死,且无法调整。
4.Mellanox 的驱动在这种情况下,设置选项比 Intel 的多;包括支持 RSS 多线程,不会吃满 CPU0 导致系统卡死。
5.驱动的完善程度会严重影响 Windows 使用 10Gb 网卡的体验,不完善的驱动影响性能的同时,会影响系统的响应。
oovveeaarr
2022-04-08 17:06:22 +08:00
补充一句)
现在 LZ 的电脑在安装 Intel X710 的驱动后,再次返回使用 Mellanox 的网卡时,出现了无限蓝屏的问题。蓝屏原因显示的是 Mellanox 的驱动程序问题,看起来是 Intel 的驱动把 Mellanox 的驱动搞烂了。卸载 Intel 、Mellanox 驱动,系统还原,覆盖安装均无效。
cnbatch
2022-04-09 01:29:25 +08:00
既然驱动都被搞烂要重装了,要不索性试试更高级的 Windows 版本——Windows Server 2022 或 2019 。毕竟 10G 网卡在服务器上更为常见。
oovveeaarr
2022-04-10 15:42:53 +08:00
@cnbatch #28 哈哈本地还是想用 Windows 10 的,不过确实 Server 系统可能会有改善(毕竟 Intel 都有 Server 限定驱动)
有空了我去测试下看看
oovveeaarr
2022-04-10 16:20:57 +08:00
@cnbatch #15
@fan88 #18
破案了,经过群内菊巨提醒可能是安全软件影响,测试后发现原因在于**火绒**,本来 Windows 10 的网路效率就不高,装上去之后更是直线下跌到不可接受;而且单纯的关闭安全软件并不起作用,一定要**卸载并重启**,猜测是用驱动注册网路相关钩子导致的,而退出程序后并未卸载驱动,所以性能并未改善。

和大家同步下测试结果,这次重装了系统,发现了以下额外的几点情况
我的 CPU 是 Intel 3770k overlocked 4.2Ghz
1.Windows 10 默认发送性能,大约是 60%-80%的 CPU 就可以达到 10Gbps ;所以不受驱动单线程性能制约
2.但是接收性能,如果想要跑满 10Gbps ,则需要 170%-200%的 CPU ,如果驱动是单线程的情况下,性能也会削减对应比例。
3.对于 Mellanox 驱动来说,Windows 自带的驱动似乎比 Mellanox 效率和稳定性高,具体表现在 Mellanox 不管在优化后,还是默认的配置,速率都不如 Windows 自带的驱动稳定;且使用多线程的概率也比较迷
4.Mellanox 的驱动,是存在着一会用多线程,一会不用多线程的情况,具体原因不明; Intel 的驱动就不敢装了,不想再重装系统了,以后有空再测)))
5.Mellanox 驱动,大约最多只会吃 200%-250%的 CPU ,偶尔出 BUG 的情况下(只遇到过一次,同时也是开启火绒后性能接近 10Gbps 的情况)能跑到 400%左右。
6.开启火绒后,网路性能会急剧下降。发送性能要达到 8-9Gbps 需要 170%-200%的 CPU ,如果单线程的话性能也会受到制约。接受性能受影响最大,170%-200%的性能,基本只能跑到 2-3%Gbps 。
raycheung
2022-04-11 10:42:36 +08:00
@Laitinlok #8 does not support Windows 8/10/2012,1 年多没更了
Laitinlok
2022-04-11 10:50:06 +08:00
@raycheung latest stable release that works with Windows XP, 7, 8, 8.1, 10, 2012 Server, etc.
raycheung
2022-04-11 10:51:49 +08:00
@Laitinlok #32 咦,难道看串行了,我再去瞧瞧[手动 dog]
fan88
2022-04-12 17:10:16 +08:00
@oovveeaarr 实测卸载火绒后性能一下就得到了巨幅提升,双线程就可以跑满 9G
LittleSho
2022-04-12 18:34:38 +08:00
@oovveeaarr 我装了火绒和 Glasswire ,AQC107 多线程上行能跑满,但是下行只有 5Gbps ,把火绒卸载掉能跑到 7Gbps ,把 Glasswire 卸载掉能跑到 9Gbps ,装了这两个软件后,电脑如果长时间没重启,速度会越来越慢
smallthing
2022-04-19 11:42:14 +08:00
我的没有你这些问题 跑的稳的很
intel 的 10G 网卡。
mzliangjianjun
2023-03-06 14:13:42 +08:00
@oovveeaarr 基本上安全软件都会遇到的
afirefish
114 天前
@oovveeaarr 火绒又得一分。Intel x710 网卡。windows 环境,iperf3 ,安装火绒之后,智能跑到 8G 左右,卸载了就能跑满 10G 了

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

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

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

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

© 2021 V2EX