Linux

為什麼我的 rsync 這麼慢?

  • August 28, 2017

我的筆記型電腦和工作站都連接到千兆交換機。兩者都在執行 Linux。但是當我用 複製文件時rsync,它的性能很差。

我得到大約 22 MB/s。理論上我不應該得到大約 125 MB/s 嗎?這裡的限制因素是什麼?

**編輯:**我進行了一些實驗。

筆記型電腦的寫入性能

筆記型電腦有一個帶有全盤加密的 xfs 文件系統。它使用aes-cbc-essiv:sha256256 位密鑰長度的密碼模式。磁碟寫入性能為58.8 MB/s

iblue@nerdpol:~$ LANG=C dd if=/dev/zero of=test.img bs=1M count=1024
1073741824 Bytes (1.1 GB) copied, 18.2735 s, 58.8 MB/s

工作站上的讀取性能

我複制的文件位於超過 5 個 HDD 的軟體 RAID-5 上。在突襲之上是一個lvm。卷本身使用相同的密碼進行加密。該工作站有一個 FX-8150 cpu,它有一個本地 AES-NI 指令集,可以加速加密。磁碟讀取性能為256 MB/s(記憶體很冷)。

iblue@raven:/mnt/bytemachine/imgs$ dd if=backup-1333796266.tar.bz2 of=/dev/null bs=1M
10213172008 bytes (10 GB) copied, 39.8882 s, 256 MB/s

網路性能

我在兩個客戶端之間執行 iperf。網路性能為939 Mbit/s

iblue@raven $ iperf -c 94.135.XXX
------------------------------------------------------------
Client connecting to 94.135.XXX, TCP port 5001
TCP window size: 23.2 KByte (default)
------------------------------------------------------------
[  3] local 94.135.XXX port 59385 connected with 94.135.YYY port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.09 GBytes   939 Mbits/sec

另一種緩解高 CPU 使用率但仍保留 rsync 功能的方法是從 rsync/SSH 遷移到 rsync/NFS。您可以通過 NFS 導出要從中複製的路徑,然後在本地使用 rsync 從 NFS 掛載到目標位置。

在從 WD MyBook Live 網路磁碟進行的一項測試中,從千兆網路上的 NAS 到 2 個本地 USB 磁碟的一個或多個 rsync 在導出後不會超過 10MB/秒(CPU:80% usr,20% sys) NFS 和從 NFS 共享本地同步到兩個磁碟我總共獲得了 45MB/秒(最大化兩個 USB2 磁碟)和很少的 CPU 使用率。使用 rsync/SSH 時的磁碟使用率約為 6%,使用 rsync/NFS 時接近 24%,而兩個 USB2 磁碟都接近 100%。

因此,我們有效地將瓶頸從 NAS CPU 轉移到了兩個 USB2 磁碟上。

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