
出於某種原因,QD2 似乎在原始 IOPS 方面是最好的...
看到一篇有趣的文章後比較幾個不同驅動器的 SLOG 使用情況,我對我自己的系統在不同隊列深度下的表現感到好奇。
該系統包括一個 i9-13900K、128GB DDR5-4800 系統記憶體和兩個作為單鏡像 Vdev 的 Samsung 980 PRO。此測試在 ProxMox 7 上的容器中以以下配置執行 FIO:
fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=<4k/8k> --numjobs=1 --size=8g --iodepth=<1/2/4/8> --runtime=30 --time_based
我注意到奇怪的是,在非同步寫入期間,最佳效能始終出現在佇列深度為2 的情況下。分數...我本來就預料到了這一點在更高的隊列深度上變得更好還是我錯過了一些東西? (我想知道這是否與每個驅動器只有兩個 NAND 晶片的驅動器有關?)
除了設定 ashift=12 和上面列出的內容之外,沒有執行任何特定的 ZFS 調整。
有人知道為什麼 ZFS 非同步寫入似乎在 QD2 上比 QD1、QD4 或 QD8 效果最好?
現在...圖表!這些是我嘗試過的 216 種不同組合的平均結果。
(為什麼 16k 的唱片大小是最糟糕的,我無法理解)
(8k 的區塊大小仍然會導致更多的整體頻寬)
看到 Zstd 擊敗 LZ4 有點驚訝。也許我已經達到了這些劣質 SSD 的 IO 限制?這實際的在測試期間,SSD 活動通常達到 400-700MB/s。
注意:在所有測試中,CPU 調速器均設定為“效能”,設定為“省電”時,IOPS 資料會下降 30-50%!