SLOB、Orion和FIO這些測試工具有何異同?
近日看到某分布式存儲軟體/ServerSAN宣稱“提供單節點可達100,000 IOPS的優越性能… 單節點可達1.6GB/s帶寬”,粗略感覺還算可以吧,當然穩定性可靠性比這個更重要。
引用自ESG報告《TransformingCommodity Hardware into Simple, Scalable, High-performance, Shared Storage》,2014年4月
當年測試用的還是思科伺服器,ScaleIO之前對硬體沒有特殊要求,标準化伺服器理論上就可以。具體的配置包括每台伺服器128GB記憶體、1塊系統盤、1個700GB PCIe閃存卡、6個960GB SATA SSD和雙口40Gb InfiniBand HCA。
所有節點上的SATA SSD和PCIe閃存建立兩個ScaleIO存儲池,實作了一個固定分層存儲,應該是分别放置Oracle資料庫表和Redo日志。
現在情況有了一些變化,我覺得不隻是因為Dell EMC合并對VCE産生的影響,還有一個因素——思科也投資了超融合軟體廠商并在推自己的方案。我們看到ScaleIO 3.0的新特性中包括增強對NVMe SSD和NVDIMM的支援,這些在基于Dell下一代PowerEdge14G伺服器R740xd和R640的ScaleIO Ready Node上都有展現。
1、OLTP查詢8KB 随機IOPS:89萬
引用自EMC ScaleIO白皮書《High-PerformanceConverged Infrastructure for Oracle Database Deployments》,3年前測試結果不代表現在産品的水準,僅供參考。
上圖是Oracle Enterprise Manager在随機IOPS測試過程中一小時的監控,期間運作了SLOB(Silly Little Oracle Benchmark kit)。ESG報告中的8節點ScaleIO/OracleRAC環境,100% 8KB讀SLOB SQL Query(查詢)生成IOPS為838,332,EMC在另一份白皮書裡對測試參數做了點調整,跑到893,116 IOPS,如下圖。
在ScaleIO的Dashboard界面中,還可以看到此時的帶寬是6.8GB/s。平均每節點10萬IOPS出頭還不是ScaleIO的最大能力,這一點與壓測工具有關,如果換用fio可以跑到更高(下文中會列出相關數字),我認為Orion也是如此。具體原因下面會讨論。
2、Update操作産生的讀寫I/O和資料量比例
繼續進行75% Select / 25% Update測試,此時SLOB SQL産生的存儲負載為565,522 IOPS。而我看到讀/寫帶寬和IOPS的比例似乎不同,從下面的OracleEnterprise Manager監控結果也可以驗證這一點。
其中Update操作産生的是一個讀/改/寫操作,DBWR監測到的磁盤活動為随機讀I/O 85%、随機寫15%左右,而寫入的資料量/帶寬所占比例則占到了23%。從這一點來說,SLOB生成的負載是與FIO和Orion這樣不依賴資料庫而直接測試的工具有所不同。
3、OLAP并發表掃描:4節點11GB/s、8節點21GB/s
OLAP測試的資料倉庫模型,加載了一個300GB TPC-H Lineitem表,資料由另一個工具DBGEN生成。
由于目的是測試在應用中的存儲吞吐帶寬,這裡的操作是表掃描。Oracle Database 12c Enterprise Manager中可以看到4節點叢集Parallel Query測試的讀性能達到了11.09GB/s,平均每節點貢獻2.77GB/s。
上面是sqlplus執行測試和結果顯示的截圖
4、FIO測試結果:53節點850萬IOPS
在一個53節點的QA環境中,每台伺服器配置雙萬兆網口和1個700GB PCIe閃存卡。使用fio測試工具獲得850萬4KB随機讀IOPS、370萬4KB随機寫IOPS和114GB/s 64KB随機讀帶寬的表現。平均每節點随機讀IOPS可達16萬、随機寫IOPS接近7萬。
5、節點離線測試:Rebuild和Rebalance的影響
最後再分享點可能對大家有用的——“拔節點”測試。我們看到當8個節點剩下6個時IOPS下降幅度正好在25%的水準,而恢複為8節點健康狀況後性能複原。
上圖展示的好像是一個3節點叢集,具體配置未知。根據我的了解,這套ScaleIO叢集Rebuild資料的速度可達1.1GB/s,此時IOPS由11萬最多下降到4萬。我在上一篇中就提到ScaleIO雙副本的可靠性,一方面靠保護域來限制故障影響的盤和節點範圍;另一方面就是靠高效率的重構,包括隻Rebuild已用資料塊和速度表現。而節點恢複上線或者擴容時資料Rebalance的速度不需要有那麼高,從綠色曲線也能看出其優先級要低一些,對業務性能的影響也小很多。
最後再次聲明,3年前測試結果不代表最新版本ScaleIO 3.0的水準,僅供參考。