我最近在两个不同位置移动了很多文件。两个位置的数据完全相同,使用相同的 robocopy 命令,但在我们总部的 Windows Server 2012 R2 上(使用 PowerShell v4)花费不到 30 分钟,而在我们 ISP 服务器中心的 Windows Server 2008 R2 SP 1(PowerShell v2)上花费了大约 15 个小时。后者实际上拥有更多的 RAM 和 CPU(实际上是两倍:512 GB 内存,64 个内核)。
对我来说,这两项任务之间唯一明显的硬件差异是,在 2012 服务器上,我将数据从本地磁盘移动到 SAN 卷,而在 2008 R2 服务器上,数据跨 SAN(从 LUN 到 LUN)。不过,我不认为这是罪魁祸首,因为每台机器上的源卷和目标卷之间的 iSCSI 带宽相同。
也许我遗漏了一些东西,所以我想把它放在这里,看看大家有什么见解。
答案1
(1)DAS->RAM->网络->SAN
对比
(2)SAN -> 网络 -> RAM -> 网络 -> SAN
在第二个场景中,每个 I/O 需要两次网络跳转,而不是一次。与本地磁盘相比,网络速度较慢,+ 由于碰撞点过多,您在构建管道时会遇到问题。