為什麼在擴展數組後,Linux 上的 zfs 傳輸 rtates 報告不正確?

為什麼在擴展數組後,Linux 上的 zfs 傳輸 rtates 報告不正確?

我已經升級了 NAS 伺服器中 4 驅動器 Raidz 陣列中的驅動器,並且該陣列已自動擴展到新的大小。現在在測試NAS 伺服器的傳輸速率時,我觀察到,在執行大量讀取傳輸時,效能很差,儘管iotop 和zpool iostat 可以報告高達500MB/s 的非常高的數字,但仍難以達到10MB/s以上可能導致此情況的原因奇怪的行為?由於我一直在升級陣列,所以我還可以觀察到,無論有 4 個設備在線上還是降級到 3 個設備,它的性能都是相同的。

伺服器透過單一千兆位元網路連接進行連接,並且可以使用 ext4 使用單一磁碟機使其飽和

答案1

我發現我一直在嘗試緩存設置,看看會發生什麼,我關閉了主緩存,這可能導致實際 IO 遠大於邏輯 IO,因為

[應用程式]讀取一個文件,取得 4k(頁面大小?)資料並處理它,然後讀取下一個 4k,等等。

然而,ZFS 只能讀取 4k。預設讀取 128k(記錄大小)。由於沒有快取(您已將其關閉),其餘資料將被丟棄。

128k / 4k = 32

32 x 2.44GB = 78.08GB

FreeBSD 論壇

相關內容