复制文件夹中数十万个文件的 TB 速度很慢

coh*_*rtq 7 zfs robocopy file-transfer samba freenas

我目前正在运行 FreeNAS 并在 Windows 机器上使用 SMB 3 来复制包含 80000 多个文件的文件夹,每个文件夹大约 35MB。这是配置

FreeNAS

  • 2x40Gbps 连接绑定
  • 启用 SMB 3.1 的连接 SMB 共享
  • 1 个 Xeon 8 核,512GB RAM
  • 400TB 存储 RAID Z1 使用 4TB 驱动器获得更多 iops
  • 23 组,每个 RAID 组 5 个驱动器
  • 3 个 LSI 3008 SAS 3.0 12Gb/s 主机总线适配器
  • 可以使用 SUPERSTORAGE SERVER 6048R-E1CR72L 作为基础在 thinkmate.com 上进行类似的配置,然后添加扩展机箱
  • 启用巨型帧
  • 传输期间 CPU 使用率约为 50%
  • 传输期间 RAM 使用率为 60%

工作站

  • 视窗 10 专业版
  • i7 3.6Ghz 和 16GB 内存
  • 512GB m.2 驱动器
  • PCI 3.0 16x 插槽中的 40Gbps 卡
  • 启用巨型帧
  • 禁用 TCP 卸载
  • 外部 RAID 0(3 或 4 个磁盘)驱动器通过 USB-C 连接
  • 传输期间的 CPU 使用率为 20%
  • 传输期间的 RAM 使用率为 15%

所以我有这些 RAID 0 驱动器,每个驱动器都有大约 4TB 的文件,每个文件是 35MB。每个文件夹大约有 80000 个文件。8 个同时传输,跨 8 个工作站。

当我使用 robocopy 复制文件时。我得到大约 1.8Gbps 的传输速度。然后随着时间的流逝,副本越来越深入那些速度下降到 600Mbps 左右的文件。无论我是否在 robocopy 上使用 /MT:10 的 /MT:1 都会发生这种情况。EMCopy 也没有好到哪里去,freefilesync 想在大约 3 小时后死掉。我希望它至少保持稳定在 1.8Gbps 而不是不断下降。在这些传输过程中浏览工作站上的共享也变得无响应。有没有其他人经历过这种情况?

小智 6

传输速率缓慢的根本原因可能是工作站 M2 驱动器需要进行大量随机读取。

快速 NVMe M2(我认为您最有可能使用的)以高达多个 GB/sr/w 的速度进行广告宣传。对于大文件的顺序读取来说确实如此,但在您的情况下,您将改为随机读取。普通消费者/专业消费者 NVMe M2 SSD 的随机读取速率范围从 70MB/s 到 110MB/s,这在您的 600Mbps 速率范围内。对 SSD 的评论通常包括随机读取速度结果,这是我从中得出的范围。

有些固态硬盘(例如英特尔傲腾固态硬盘)可以提供大约 500MB/s 的随机读取速度。

此外,您声明您通过 USB-C 连接驱动器。根据使用的技术,USB3.0、3.1、3.2 或 Thunderbolt,此连接也可能导致速度变慢。内部 NVMe M2 驱动器(或其他更快的基于 PCI-e 的驱动器)可能会解决该问题。

为了证明或否定我的假设,您可以使用 Windows 10 任务管理器或性能监视器。任务管理器将为您提供驱动器繁忙程度的百分比。如果有问题的驱动器处于 100% 或高于 80% 的任何值,那么它们可能会限制速度。另一方面,如果它是空闲的,那么它不是限制性的。免责声明:我不知道 Windows 任务管理器的繁忙百分比有多可靠,尤其是对于外部驱动器。

如果事实证明源端的驱动器根本不忙,您可能需要检查目标端并查看驱动器在那里的运行情况(您可以使用 iostat 工具)。

如果这些都没有帮助您,因为您能够排除源端和目标端的驱动器作为问题的根本原因,那么我建议您从基本的故障排除步骤开始。例如,您可以传输一个大文件并查看此传输是否受到相同的限制。您可以反转传输方向并将一些小文件复制回工作站。如果只是反转会导致更好的速度,那么也许有一个组件只在读取时限制而不是在写入时限制,反之亦然。

或者尝试通过直接连接设备来排除某些组件,中间没有额外的开关,或者您可以从场景中删除任何东西以进行测试。


coh*_*rtq 3

好的,看起来问题现在已经解决了。这就是解决方案。

在里面/etc/samba/smb-shares.conf.local

此行已添加到我们正在使用的共享中

case sensitive = yes
Run Code Online (Sandbox Code Playgroud)

现在我们的传输速度稳定在 200MBps。虽然不是理想的速度,但随着时间的推移,速度并没有降低。这解决了速度降低的问题。