Freebsd

如何提高 OmniOS(基於 illumos)上的 rsync 執行時間?

  • June 15, 2018

我正在測試 illumos 的一些變體,目前是 OmniOS。

當我對 io-bound 程序進行基準測試時,我發現它rsync比我的參考 FreeBSD 12-CURRENT 慢得多。

使用相同的硬體、相同的命令和相同的源磁碟和目標磁碟:

在我測量的 OmniOS r151026 中,

test@omniosce:~# time rsync -aPt /zarc/images /home/test/

real    17m25.428s
user    28m33.792s
sys     2m46.217s

在 FreeBSD 12-CURRENT 中:

test@freebsd:~ % time rsync -aPt /zarc/images /home/test/

374.651u 464.028s 11:30.63 121.4%   567+210k 791583+780083io 2pf+0w

(請注意,FreeBSD 12-CURRENT 包含調試開關,因此它的執行速度比未來即將推出的 RELEASE 版本要慢)。

  • 我注意到,在 FreeBSD 下,rsync作為 3 個程序執行,所有程序都nice=0使用50% 到 70% 的 CPU 時間
  • 在 OmniOS 上,rsync也作為 3 個程序執行,也有nice=0,但每個程序不超過 3%

CPU 使用率是 FreeBSD 和 illumos 上相同硬體上的執行時間如此不同的原因嗎?

如果是這樣,因為nice在兩個作業系統上都是相同的,為什麼 illumos 不允許更高的 CPU 使用率?

如何rsync在基於 illumos 的作業系統上提高執行時間?

先感謝您。


2018-06-02 編輯:

  • 澄清問題以使其更具體。感謝@rui-f-ribeiro

  • 回复@roaima:

    1. 源文件系統和目標文件系統都是本地磁碟
    2. 這不是每個作業系統的一次性執行,我一直在反複測試這種令人費解的情況
    3. 在任何測試中,我都確保目標目錄樹完全沒有與源中的文件匹配的文件

通過將 OmniOS rsync 切換到 64 位並啟用優化,這個謎團終於解開了。這使校驗和程式碼的速度提高了一倍以上。

現在,考慮到完全相同的硬體,OmniOS 上的 rysnc 甚至比 FreeBSD 快一點。

感謝這裡的所有人,感謝出色的 OmniOS 開發人員,他們提供瞭如此迅速和詳盡的幫助。

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