Solaris

ZFS 池性能,zio_write_issue

  • May 29, 2019

我們有一個相對較大的 ZFS 池(raidz3 中有 23 個 vdev,~1PB 原始)。頭節點有 16 個核心和 192GB 的 RAM。我們在池中有一個 ZIL,沒有 L2ARC。池執行solaris 11.3

該池可以在恆定的 1GB/s 吞吐量、20kIOPs(峰值 >100kIOPs)下工作,但幾天后性能會下降:

  • IOP 下降 ( zpool iostat)
  • 吞吐量下降
  • 有很多 zio_read_intr、zio_write_issue、zio_write_issue_highprstat -amL

嘗試查看zilstat.sh顯示沒有非常奇怪的活動:我不知道為什麼我可以在 zpool status 命令中看到日誌設備,連接到池,但我在zilstat.sh.

此外,我們擁有該系統的近乎精確的複製品,該系統完美無瑕,ZIL 的行為也應有盡有。唯一的區別是 ZIL 是通過不同的 SAS 連接器訪問的。當 ZIL 使用與其他 vdev 相同的 SAS 通道時,我預計性能可能會更低,但並非完全沒有活動。

iostat -sndzx提供了一些關於性能為何低的見解(請參閱@Andrew 對我最初問題的評論)。

池中的一個磁碟報告的平均服務時間(asvc_t列)在 150 毫秒和 4,999 毫秒之間波動,並且繁忙時間百分比為 60(%b列)。池中的其他驅動器在 3.3ms avsc_t 和 2% 忙。

儘管由 生成了上述數字iostatzpool status但仍將驅動器報告為online,沒有讀取或寫入錯誤。

我沒有看到正在使用的活動的原因zilstat.sh是該活動是zfs send/receive僅在當時。send/receive在接收端使用非同步寫入根本不使用 ZIL。這些塊被直接寫入旋轉磁碟。

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