我正在测试网络可靠性并发现了这个异常,不知道如何排除故障。
网络精简为(PC + 10G 卡)->(10G 交换机)->(带 10G 卡的文件服务器)。
NAS 和交换机看起来不错 - 我使用同一台交换机与另一台 PC 进行 NAS 之间的大型文件复制时,速度接近 500 MB/秒。NAS 是 FreeBSD,具有大量快速 RAM 和 NVMe ZIL+L2ARC,没有其他东西加载它(另一个池正在重新同步一个磁盘,但用于此的池处于空闲状态)。PC 是六核 i7 extreme,测试文件是新擦除和格式化的 Samsung Pro 840 SSD 上的单个 100GB 文件,在 R+W 上提供 >= 80-95k IOPS(400+ MB/s)。SSD 今天早些时候进行了基准测试,内存(64GB)在周末连续 36 小时进行了 memtest86。NC 都是带有 Finisar 收发器的 Chelsio T4 系列 SR 光纤,都被认为很好,或者至少没有已知问题。LAN 全部启用了 jumbo。
NAS 10G 卡和交换机似乎很满意,因为其他设备也使用这种速度。交换机报告两台机器都有良好的 10G 链路。PC 上的 Windows 报告 NIC 以 10G 连接。Get-SmbConnection
确认该链路正在使用 SMB3.02。
任务管理器和 NAS 都同意,除了从 SSD 到 NAS 的 100G 文件单次复制之外,线路或磁盘没有以其他方式使用,并且以太网链路都是 10G 并且良好。
但是他们也都同意文件的平均速度稳定在 912 - 920 mbps - 典型的 1G 速度。他们没有解释原因。这可能与 PC 或 NIC 有关,而不是其他设备,因为其他一切似乎都已建立并正常运行,但这并没有多大帮助。我更换了交换机端口,没有效果。
但这才是真正疯狂的部分:
- 登录 PC 并打开 2 个资源管理器窗口,一个指向 SSD,一个指向 NAS。复制文件。速度:95 - 105 MB/秒。
- 登录到连接到同一交换机的第二台电脑。打开 2 个资源管理器窗口,其中一个窗口指向电脑上的 SSD作为共享驱动器一个到 NAS。复制文件。这一次它必须从 PC 远程获取文件并进行复制,因为它不在本地 SSD 上。速度:500 MB/秒。
PC 将以 500 MB/秒的速度将文件传输到另一台 PC,然后另一台 PC 再以 500 MB/秒的速度将文件传输到 NAS。但 PC 只会以 100 MB/秒的速度将文件传输到 NAS。通过另一台 PC 作为共享网络驱动器进行路由比直接复制要快 5 倍!
PC->LAN 和 NAS->LAN 只有一个网络链路,所有 3 个设备都位于同一个 10G 交换机上。这似乎一下子排除了 Windows、网络硬件、磁盘或......好吧,显然我能想到的所有问题。
Windows 似乎并不怀疑存在 10G 链路,但实际使用的数据速度只有 1G。Wireshark 似乎也没有说明太多。Windows 将其报告为 10G,并以 500 MB/秒的速度向另一台 PC 发送数据,而另一台 PC 又可以以 500 MB/秒的速度向 NAS 发送数据,但直接流量是 1G 速度。
我到底该如何解决这个问题?