Performance
COMSTAR 和 ZFS zvol 提供突發寫入模式
我剛剛建構了一個小型 NAS/SAN 盒子,並正在用它做一些測試。配置是:
- 2GB 記憶體
- 2x 皓龍 265s
- 艾威爾 DK8N
- 5x500GB SATA 驅動器(1 個備用,其餘鏡像)= 1TB 可用空間
- Emulex LPC10000DC
- NexentaCore 3.0.2
我要測試的第一件事是 COMSTAR 在光纖通道上的性能。我創建了一個 700g 的 zvol 並將其暴露在 COMSTAR 上。啟用寫記憶體。我的 FC 啟動器是一個裝有 Q-Logic QLA2340 卡的 Windows 7 盒子。
一切都很好,除了寫入速度。出於某種原因,我只能看到 ~30MB/s,而使用 IOMeter 時我可以達到大約 90MB/s 的讀取速度。在四處尋找,我執行了一個
zpool iostat
命令並看到了以下模式:$ zpool iostat tank 1 tank 88.2G 840G 0 5.47K 0 43.4M tank 88.2G 840G 0 16.1K 0 128M tank 88.4G 840G 1 6.69K 8.93K 52.6M tank 88.4G 840G 52 4.89K 110K 38.3M tank 88.4G 840G 151 0 280K 0 tank 88.4G 840G 112 0 253K 0 tank 88.4G 840G 1 9.89K 16.0K 78.6M tank 88.4G 840G 0 14.3K 0 113M tank 88.6G 839G 150 2.99K 318K 20.2M tank 88.6G 839G 15 0 45.0K 0 tank 88.6G 839G 3 0 17.8K 0 tank 88.6G 839G 0 0 0 0 tank 88.6G 839G 0 0 0 0 tank 88.6G 839G 0 11.3K 0 89.9M tank 88.6G 839G 0 13.8K 0 110M tank 88.8G 839G 90 7.91K 184K 61.0M tank 88.9G 839G 105 91 220K 140K tank 88.9G 839G 42 0 84.6K 0 tank 88.9G 839G 0 0 0 0 tank 88.9G 839G 0 6.52K 7.99K 51.8M tank 88.9G 839G 0 15.6K 1011 124M tank 88.9G 839G 91 4.30K 193K 31.9M tank 89.1G 839G 1 9.48K 15.8K 74.7M tank 89.1G 839G 41 0 99.9K 0 tank 89.1G 839G 166 0 374K 0 tank 89.1G 839G 87 0 162K 0 tank 89.1G 839G 0 0 7.92K 0
它似乎寫了很多,然後停止。
這裡發生了什麼?
這對於 ZFS 來說是正常的。正在發生的事情是將記憶體中的寫入合併,然後同時將它們送出到磁碟。這是一個關於它在做什麼以及如何調整它的很棒的 wiki:
http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide