使用 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 將會獲勝,因為它更聰明。