返回

文章详情

调试我的新网络,当10千兆以太网以300兆比特运行

Hacker News2026年8月28日 14:23

我一直在将我的家庭存储迁移到UniFi UNAS Pro 8,这是我更大家庭实验室现代化的一部分。我的主要IRONHEART(几年前的终极电脑)桌面现在配备了一张Intel E610-XT2 10GbE网卡,NAS也在10GbE上,还有一台Minisforum MS-01迷你电脑在同一网络上,连接着10GbE SFP+,运行Immich、Portainer和其他一些应用程序。一切都显示为10千兆。Windows显示为10千兆。UniFi显示为10千兆。SMB复制使用的是正确的网卡,但我的文件复制速率保持在每秒100到200兆,这是令人沮丧的。自然而然,我把锅甩给了NAS及其内部的旋转硬盘。UNAS有六个16TB的旋转磁盘,以RAID 6形式排列,并有一对NVMe SSD作为缓存。我还在MS-01上运行Immich,它的照片库存储在UNAS上,因此有大量缩略图、元数据读取和一些后台写入活动。所有这些都看起来是合理的怀疑对象。我将UNAS的SSD缓存从读写模式切换到只读模式。没有明显的变化。我完全停止了Immich的运行。没有变化。我查看了iostat;磁盘并没有饱和。我们查看了SMB签名和Windows Defender网络扫描。依然缓慢。然后我停止测试NAS,直接在Windows桌面和MS-01之间运行iperf3:iperf3 -c 192.168.1.222 -P 4 133 Mbit/sec 哎呀。反向测试表现更好,但仍然不对:iperf3 -c 192.168.1.222 -P 4 -R 1.33 Gbit/sec 这很奇怪。现在,磁盘、SMB、Immich、RAID和NAS本身完全被排除了。这是一个Windows/NIC的问题,而且非常不对称。查看英特尔适配器统计信息,显示... Get-NetAdapterStatistics -Name "Ethernet - 10 Gig Intel" 有近一百万个接收丢弃报文。在一次十秒钟的iperf3测试中,计数又增加了268。为什么?E610驱动程序的接收缓冲区在默认的512,尽管它支持高达4096。我增加了它们。我喜欢增加缓冲区。Set-NetAdapterAdvancedProperty ` -Name "Ethernet - 10 Gig Intel" ` -DisplayName "接收缓冲区" ` -DisplayValue "4096" 下一次测试中丢弃的报文数从268减少到零,接收吞吐量从1.33 Gbit/sec激增至5.15 Gbit/sec。传输方向仍然糟糕,基本上是313 Mbit/sec。下一个实验是为IPv4禁用大数据包卸载(LSO)V2:Set-NetAdapterAdvancedProperty ` -Name "Ethernet - 10 Gig Intel" ` -DisplayName "大数据包卸载 V2 (IPv4)" ` -DisplayValue "禁用" 然后我再次运行相同的iperf3测试。7.03 Gbit/sec 这不是笔误。通过更改一个NIC设置,从313 Mbit/sec提高到7.03 Gbit/sec。真是妙得很。LSO存在是有充分理由的:Windows可以将大TCP缓冲区交给NIC,并让适配器/驱动程序将其分段为网络大小的数据包,从而减少CPU的工作。微软确实明确指出,分段卸载可能会在某些网络适配器/配置中降低最大可持续吞吐量。LSO通常是有用的,但在这个案例中则不然。在我特定的Windows和Intel E610-XT2的组合中,IPv4 LSO路径中的某些东西非常悲惨。我还不确定这是英特尔驱动程序的错误、固件问题、Windows交互,还是该机器特有的问题,因此我不会把这变成所有人都应该禁用LSO的随机技术博主建议。先测量,再切割。呃,切两次。只需保持警觉。最后,我回到引发这一切的测试,将同一个大文件复制到UNAS,Robocopy报告:速度:350,201,354字节/秒。速度:20,038.682兆字节/分钟。大约350 MB/sec,或每秒2.8 Gbit的持续实际SMB写入到六盘RAID 6 NAS。这才像话。这个有用的教训不是“禁用LSO”。它是,当存储神秘地缓慢时,最终必须停止测试存储。iperf3将NAS、文件系统、RAID、缓存、SMB和磁盘一次性排除在实验之外。一旦原始网络也变得缓慢,问题就变得小得多。而且,有时那个标有“大数据包卸载”的复选框会让你的10千兆卡像2004年一样运行。TL;DR - 启用IPv4的LSO V2时,Windows到Linux的iperf3速度约为313 Mbit/sec。关闭那单个卸载将同样的测试提升到7.03 Gbit/sec。我故意说是在这台机器上,因为LSO通常是有用的,这并不是一个普遍建议,在任何地方都禁用它。关于Scott Scott Hanselman是前教授、前融资首席架构师,现在是演讲者、顾问、父亲、糖尿病患者和微软员工。他是一个失败的单口相声演员、一位编辫子的人和一本书的作者。关于新闻通讯托管

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡