Network-Share

從哪台機器上執行 cp 以獲得最快的 smb 性能?

  • March 23, 2013

我想通過本地網路傳輸一些巨大的(多 GB)文件。涉及三台電腦,源電腦 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,這不會改變任何東西,但如果文件相同,查找可能會更快某種並行複制工具,它使用多播將文件僅發送一次到網路,否則您的網路頻寬將由所有傳輸共享,從而將速度降低到(1/並行傳輸數)。

引用自:https://serverfault.com/questions/490715