robocopy 比在服务器之间拖放文件慢 20 倍

Gra*_*ant 19 robocopy

我正在两台服务器之间迁移 20TB 的文件。两个系统都是安装了最新更新的 Windows 2012R2。两者都使用千兆网络。

使用命令行在新服务器上使用 robocopy robocopy /S /ZB /MOVE /J /DCOPY:A /V /FP \\oldserver\shared\folder X:\folder

以大约 5-10MB/s 的速度复制。

使用资源管理器在服务器之间拖放文件产生大约 110MB/s 的速度,这是我预期的速度。

当文件共享和网络显然能够提供更快的速度时,我无法弄清楚为什么 robocopy 运行得如此缓慢。

我尝试过的事情:

  • 使用以太网电缆直接连接服务器以消除任何交换机问题。没变。
  • /MT开关,在大约相同的速度复制的数值1,4,8和16全部。
  • 复制而不是移动文件。没变。
  • 使用日志文件而不是打印到屏幕上。没变。
  • 从旧服务器推送文件与从新服务器拉取文件。没变。

有任何想法吗?

Gra*_*ant 28

在我的情况下,结果是/Z开关,用于可重启模式。

删除该开关使副本达到 105-110MB/s,就像资源管理器副本一样。

我仍然不知道为什么它会导致如此巨大的性能损失。

  • @AaronD `/Z` 开关将标题块写入文件以跟踪它在副本中的位置。它必须在每次写入后更新此标头,这很慢。如果不重新启动,则不必写入标头,因此复制速度要快得多。 (5认同)
  • 删除 /Z 使我在 10Gbit/s 链路上的性能提高了 20MB/s 至 600MB/s!差异巨大! (2认同)
  • @Dave,阅读这个答案:/sf/ask/1468807791/ 我不知道为什么这个答案没有被接受。这解决了我的问题。 (2认同)