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 下这个结果是非常不符合预期的。

请问大家有什么想法吗?
7659 次点击
所在节点    宽带症候群
38 条回复
germain
2022-04-03 21:55:03 +08:00
Iperf 用在 windows 下最多只能 P4

Windows 下换 nttftp 测
germain
2022-04-03 21:56:00 +08:00
*ntttcp
jtshs256
2022-04-03 22:00:43 +08:00
所以最关键的网卡型号没说?
oovveeaarr
2022-04-03 22:02:18 +08:00
@germain #1 iperf3 似乎没有这个问题,我去试试 NTTTCP
oovveeaarr
2022-04-03 22:02:56 +08:00
@jtshs256 #3 忘了说了,Mellanox ConnectX-3 洋垃圾( cx341 )
wudaye
2022-04-04 01:51:43 +08:00
起这个标题负责任吗?
cnbatch
2022-04-04 02:36:31 +08:00
我用的是 Marvell AQtion 10G 网卡( RF45 + 6 类线),在 Windows 10 可以跑出 9G+,-P 5 情况下可达 9.9G 。

根据 chiphell 网站讨论贴《万兆光纤内网不达标》的说法,同一张网卡在 Windows 达不到 10G 的原因就一个:CPU 单核弱。而且这个讨论贴的作者后来用-P 10 跑出了 10G 的速度。

顺便给个参考:chiphell 讨论贴的作者电脑 CPU 是双路 E5-2630 ,我电脑的 CPU 是 i9-9900K 。
Laitinlok
2022-04-04 02:48:34 +08:00
更新網卡驅動, 然後再用 tcp optimiser ( https://www.speedguide.net/downloads.php)
fastcache
2022-04-04 11:14:59 +08:00
AQC107 在 win 下面用有 bug ,无解, 换成 intel 就没问题
oovveeaarr
2022-04-04 13:39:09 +08:00
@cnbatch #7 看了一下帖子,和我的情况还是有一点不一样。
我这个测试结果是单线程和多线程速率差不多的情况下,接收性能( iperf 的-R 参数)特别差。
帖子中好像都是测的发送性能,这个虽然也有问题,不过问题都不大。
看 CPU 使用率,总感觉像是驱动有问题,导致 offload 失效,尤其是 receive offload 。
我的 CPU 是 i7 3770K ,看 cpubenchmark 单线程比帖中的 LZ 好很多的,超频后应该有进一步加强。
你测试的时候是用的- R 参数吗?
oovveeaarr
2022-04-04 13:39:35 +08:00
@Laitinlok #8 驱动已经更新到最新的,那个软件好像和网卡自带的优化差不多,不过我晚点也试试看。
oovveeaarr
2022-04-04 13:40:44 +08:00
@fastcache #9 诶,Intel 的卡在 Linux 下走虚拟化问题还蛮多的,所以一开始就想着避开 Intel ,结果 Mellanox 竟然在 Windows 上翻车了。。。
没想到 Windows 还是用 Intel 靠谱些。。
cnbatch
2022-04-04 14:13:06 +08:00
@oovveeaarr telegra.ph/Windows---Marvell-AQtion---iperf3---v2ex-04-04
双向各测了两次,都没问题
(我注册未满 30 天,只好这样发图片了)
cnbatch
2022-04-04 14:20:29 +08:00
@fastcache 我买的网卡(散热板印有 MSI logo 的那款)据称里面用的也是 AQC-107 芯片,但用起来就能跑满。想不到同芯片不同品牌的差别会这么巨大。
cnbatch
2022-04-04 14:33:10 +08:00
忘了说,我在网卡属性里面改了这些设置:
开启 Jumbo Packet ,设置成最大( 9014 )
Receive Buffers 设置到最大( 4096 )
Transmit Buffers 设置成最大( 8184 )
fastcache
2022-04-04 22:31:45 +08:00
@cnbatch 两端都是 AQC 还行,异厂家容易崩
cnbatch
2022-04-04 23:30:09 +08:00
@fastcache Windows 的这边是 AQC ,另一端是板载 Intel + XigmaNAS 12 ,中间隔了个 QNAP 交换机
这里一路下来分别有 3 家硬件厂,都能达到 10G ,所以我觉得 OP 遇到的问题应该是驱动有 bug 了
fan88
2022-04-05 17:23:25 +08:00
@oovveeaarr 和楼主同款网卡:Mellanox ConnectX-3,iperf3 下行 2.32G ,上行 4.5G ,也不知道是为什么
oovveeaarr
2022-04-06 16:19:16 +08:00
@fan88 #18 我也是这款洋垃圾,这么看来可能是 Mellanox 的驱动问题了?不过我看淘宝卖家的测试,好像都挺正常的,很奇怪。他们的 CPU 主频还没有我的高

@cnbatch #13 这么奇怪,我晚点换一块网卡试试。

@cnbatch #15 感谢补充。我好像没有开巨帧,局域网里还有很多设备是千兆的,如果在局域网中开启这个,和这些设备交互的时候,会出问题吗?是只用两端 10G 端口的机器改成 9000MTU 就可以了,还是路由器的 LAN MTU 也要改 9000 呢?
cnbatch
2022-04-07 00:25:05 +08:00
无论是 10G 的机器,还是千兆的机器,包括路由器,能开的都开,一般不会有什么问题,目前绝大多数网卡都支持巨型帧,就算没开启支持,它也能收得进去。
WiFi 明确不支持巨型帧,但也不怕,无线路由器会帮忙拆分、整合的。

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

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

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

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

© 2021 V2EX