![]() |
||
Elite Member
加入日期: May 2002 您的住址: 地球的上面..
文章: 5,854
|
![]() 我相信這類測試已有相關文章可循...
不過這次我要用ioMeter來一些比較特別的測試... Driver-based RAID又稱Firmware-based RAID, 也有人叫fake RAID.... 我們可以看下面這張圖, 這張圖是來自Adaptec by PMC的一份文件-Adaptec Hardware RAID vs Software RAID所示: ![]() 從這張Stack圖可以發現其中Host RAID Engine指的就是RAID的相關算法... 可以理解到Host RAID Engine是被封裝在Driver裡面... RAID的操作是當進入作業系統載入完後才進行操作... 他的優勢是.. 這樣的設計不會侷限在哪種IOC下... 只要透過firmware載入相關的Option ROM用來設定有關RAID的組態和定址到某個IOC的位址... 開機進行初始化的時候會載入一個Pre-Boot選單, 用來預先設定有關RAID的組態... 真正操作是在進入OS後才進行... 較低的成本是他的優勢... 不需要額外的硬線設計成本, 例如像是Hardwate XOR Assist設計或著built-in processor實作.... 當然這是要付出代價的.. 1. 不當的H/W reset, 有可能導致寫入條帶不全, 毀掉VD, Hardware RAID建立在自有的RAID stack, 不當的H/W reset還是會繼續運行.... 2. RAID Engine是建立在Driver裡, 可能會受到非法的例外操作導致對資料安全性造成衝擊 3. 某些RAID模式下, 會提供很低的寫入性能, 例如RAID5. 4. 有限的功能限制 5. 沒有built-in processor, 全部的相關RAID運算都要交給Host CPU操作... 大致上就是這幾點缺陷... 這次透過ioMeter測試上有主要幾點: 1. 不同Stripe Size的傳輸速度為何... 2. 不同Stripe Size對於I/O request觸發的中斷數量為何 3. 不同Stripe Size對於CPU所獲得的效益為何.. ==使用環境== IO Controller: Intel ICH10R Controller Option ROM Version: 8.9.1.1002 Storage: Crucial C300 128GB x2 (RAID 0; 回寫快取我是強制關閉...) CPU: Intel Xeon [email protected] ioMeter規格設定 Queue Depth強制設成256佇列... ![]() 這個規格方案是最大I/O讀取操作... 來看看測試結果, 小弟將它弄成一張表單: ![]() 各類折線圖情況: 這個很容易明白, 不詳述... ![]() 超小的stripe size事實上是很爛的設定,這I/O中斷數量實在嚇死人.. ![]() 這是一個interrupt所需要的時間, 不表意見... ![]() CPU所獲取的I/O效益在64K尺寸左右下可以看到最高點... ![]() 下面這張, 不同Stripe Size, %DPC Time, CPU使用量的一整張列表, 看不懂得可以忽略..=3=: ![]() DPC queue被卡在某顆CPU上... 這個問題和OS與硬體設計有關.... 大量的中斷操作可能發生對於多核心系統無法分配.... 大致上就這樣.. 謝謝惠顧...!! 各位自行參考看看要使用怎樣大小的Stripe Size.. 有時間拿Hardware RAID來檢測看看... ![]() 此文章於 2010-12-19 09:13 PM 被 vxr 編輯. |
|||||||
![]() |
![]() |