Ubuntu

第一次執行時 cp 比 rsync 快嗎?

  • May 17, 2022

我目前正在使用rsync將 73GB 文件從三星攜帶式 SSD T7 複製到 HPC 集群。

rsync -avh path/to/dataset me@server.somewhere:/path/to/dest

以下適用:

  1. 我的本地機器(我的 T7 連接的地方)是執行 Ubuntu 20 的 VirtualBox VM。
  2. T7 傳輸速度應達到約 1000MB/秒。
  3. 網路給我一個大約 7.9Mbps 的上傳速度。
  4. 根據這個答案,Rsync 傳輸速度可能是 1-5MB/s 的瓶頸。

問題是 9 小時後移動仍未完成。根據1,使用cp空目錄(第一次)更好。我不明白這一點或它是否真的是真的。有人可以解釋一下嗎?

你這麼說,

  1. 您的網路速度約為 8 Mb/s。
  2. 您的rsync執行速度約為 1-5 MB/s。

鑑於 1 MB/s 大約是 10 Mb/s,我會說這對rsync您有很大幫助。

我,我可能已經添加了壓縮-z,並且由於您在rsync網路連接上使用了明智的標誌,因此可能會中斷它並重新啟動壓縮。它會從中斷的地方繼續。

快速計算:73 GB 為 73,000 MB *,即 730,000 Mb ‡。大約。您的網路速度為 8 Mb/s,這意味著複製大約需要 730,000/8 = 91,250 秒。25 小時,假設理論上最大使用網路頻寬。

  • 為什麼是 1000:1 而不是 1024:1?部分原因是 GB:MB 嚴格為 1000:1,但主要是因為這是一個近似計算

‡ 為什麼 10:1 而不是 8:1 建議的 8 位到 1 字節?兩個原因:(a) 它是 O(n) 近似值,(b) 需要考慮數據包/協議成本。


現在嘗試嚴格按照要求回答問題,即“第一次執行時 cp 是否比 rsync 快? ”。如果您正在使用cp,則需要有一些東西來管理本地和遠端伺服器之間的傳輸;這可能是 NFS 之類的東西sshfs,或者您可能的意思是scp.

  1. cp通過 NFS 掛載的文件系統。使用經過良好調整的網路,這可能是相當有效的。
  2. cp結束sshfs。這不僅包括加密成本,ssh還包括核心和使用者空間之間的轉換,以實現文件系統的 FUSE。效率低下。
  3. scp(隱式結束ssh)。這將包括來自ssh. 可以接受,並且可能會進一步受益於連結壓縮 ( -C)。
  4. rsync(隱含結束,ssh因為我們沒有提到rsyncd)。這將包括來自ssh. 可以接受,並且可能會進一步受益於協議壓縮 ( -z)。

我沒有採用量化的績效指標;這些是定性評估。但是,請注意對類似答案的評論為什麼 scp 這麼慢以及如何使它更快?,但公平地說,這是在討論多個文件而不是一個大文件的比較傳輸率。

但是,rsync通過網路連接的優勢在於它是可重新啟動的。使用正確的標誌(即--partial)甚至在轉移的中途。對於需要大約 25 小時傳輸的單個 73GB 文件,這是一個巨大的潛在優勢。

引用自:https://unix.stackexchange.com/questions/702649