哪个机器运行cp来获得最快的smb性能?

我有一些巨大的(多GB)文件,我想通过本地networking传输。 有三台计算机参与,源计算机A,目标计算机B,可能是第三台计算机(计算机上的人或脚本正在进行复制)。

如果我在计算机A上运行它(从本地源到远程smb目的地),计算机B(从远程smb源到本地目标)或C上(从远程smb目的地到远程smb目的地) )?

另外我想潜在地运行多个目标机器并行,这是否改变什么?

如果C上的脚本只是在A或B上执行远程命令(例如通过PowerShell或SSH),并且传输是直接在A和B之间,那么其他变体之间没有本质区别(在源或目标上启动传输)而且所有三种变体应该大致相同。 但是,如果你尝试做类似的事情

copy \\serverA\files \\serverB\files 

在C上,您将有效地将所需的数据传输加倍,因为数据将从A复制到C以及从C复制到B.

至于多重并行传输的问题:如果你的意思是从A复制到B,从A复制到D和A到E,这并不会改变任何东西,但是如果这些文件是相同的,那么寻找某种并行复制工具,使用多播将文件只发送一次到networking,否则您的networking带宽将被所有传输共享,从而将速度降低到(1 /并行传输数量)。