was successfully added to your cart.
邏輯層分析

不同Raid Stripe大小對效能的影響

By 2016-06-29 No Comments

什麼叫Stripe size

126427_orig
在raid card上有個stirpe size
單位為 64 Kbbytes = 128 Sectors

 

透過不同型態的RAID架構來評估Host-CPU的使用狀況….

基本上要指出到底從I/O request發出中斷使CPU被干涉多少次…

先放這張, 後續整理完後在貼上:

summary201012210102

從這張圖不難看出, Driver-based RAID體下,所有相關RAID計算都必須依靠Host CPU協助, 例如像是Stripping, 相關的計算都會引發對CPU的I/O請求觸發大量的I/O中斷操作. 看看SSD; Max I/O Read Test好了…

當條帶尺寸為8KB的時候, 這是一個較小的尺寸,在大量I/O的情況下, 是必要依靠Host-CPU多次操作8KB條帶切割/重組到不同的Disk, 尺寸很小的話, I/O需求量相對也會提高, 你可以看到8KB所觸發的中斷數量達到5萬多次, 反過來看看IOP-based RAID, 由於LSISAS2108透過built-in processor的這種協同式處理器, 像這類條帶操作都會被依賴到RAID chip上的built-in processor操作, 自然而然, Host CPU相對於I/O請求所觸發的中斷操作就明顯減少許多. 你可以注意到8KB的情況下, Driver-based RAID和IOP-based RAID明顯相差有10倍左右, 這意味著IOP-based RAID有更好的操作性能.

另外從Driver-based RAID看到, Response Time也有所不同, 對於I/O請求所需的回應時間, 大量I/O情況下, 我從們128KB來看, 最大Response Time相差了30ms左右, Avg. Response Time也有10ms之差異, 明顯可以看到IOP-based RAID這種Hardware RAID有更低的I/O延遲性.

CPU Effectivness指的是子I/O系統操作對於CPU所獲得的效益, 子I/O系統建構在kernel之下,子I/O系統包含了對各種裝置驅動程式(Device Driver), 裝置驅動程式的下層就是相關的控制器. 基本上這是可以算出來的:

CPU Effectiveness= IOPS / CPU Utilization

可以得到每單位使用量所能獲取的I/O效益, 這意味著大量IOPS情況下, CPU被過少的干涉(意味較低的CPU負載), 所能得到的效益就愈高, 你可以很清楚的看到Hardware RAID所獲得的效益遠遠高於Driver-based RAID. 雖然, ICH10R僅支持3Gb/s, 就算是6Gb/s也無法改變當前這樣的情況, 我懷疑支持6Gb/s可能會需要更多的I/O操作.

thx

Author thx

More posts by thx

Leave a Reply