為什麼rsync比NFS慢?

為什麼rsync比NFS慢?

使用 rsync 複製一些大檔案(每個 24MB):

bronger@steed:/tmp$ time rsync -r root@my_nas::media/distortion .
Password: 

real    0m18.128s
user    0m2.600s
sys     0m5.756s

(輸入密碼的時間減去 2 秒。)現在,對於 NFS 也是如此:

bronger@steed:/tmp$ time cp -a /mnt/media/distortion .

real    0m5.569s
user    0m0.036s
sys     0m2.128s

怎麼會這樣?不涉及壓縮和加密,但伺服器端的CPU使用率為100%。它是一個具有較慢 ARM CPU 的 NAS,但即便如此,任何複製操作都應該受到 IO 的限制。

rsyncd.conf 檔案顯示:

pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
use chroot = no

[media]
path = /volume1/media 
comment = Main volume                      
fake super = yes                         
uid = 1000
gid = 1000    
read only = no
list = yes     
charset = utf-8  
auth users = root                 
secrets file = /etc/rsyncd.secrets

答案1

如果 rsync 受 CPU 限制,則 rsync 比 NFS 慢。 rsync 是很多就資料傳輸而言,其效率低於 NFS。在我的例子中,rsync 消耗了100% 的CPU,而NFS 僅需要20%,而NFS 的速度仍然快了3 倍。倍(!)。我傳輸了大檔案。

在這種情況下,最好的方法是在速度更快的電腦上使用 NFS 掛載目錄,並在本機上使用 rsync 複製檔案。

參見綠網文章有類似問題的人。

答案2

RSync 將在開始之前做足功課,以確保複製是一項要求。

如果您已經擁有相同文件的本地版本,rsync 將會獲勝,因為它更聰明。

相關內容