Virtual SAN 意在通過(guò)高性?xún)r(jià)比的通用硬件,特別是直接掛載在 ESXi 主機(jī)上的磁盤(pán)向?qū)嶋H業(yè)務(wù)提供高擴(kuò)展性、可用性、可靠性的高性能存儲(chǔ)。特別是在 Virtual SAN 6.2 加入去重/壓縮,校驗(yàn)和以及糾刪碼等新功能后,使得超融合架構(gòu)更具性?xún)r(jià)比。全閃存架構(gòu) Virtual SAN 通過(guò)結(jié)合這些新特性能夠幫助客戶(hù)在節(jié)約存儲(chǔ)空間效率的同時(shí),獲得持久的低延遲與高性能,并同時(shí)降低用戶(hù)部署業(yè)務(wù)關(guān)鍵應(yīng)用的總體擁有成本(TCO)。
測(cè)試介紹
為了全面測(cè)量 Oracle RAC 在全閃存架構(gòu) Virtual SAN 上的 OLTP 性能,我們?cè)?節(jié)點(diǎn)集群上依次創(chuàng)建了1~4個(gè) Oracle RAC 節(jié)點(diǎn)。為了驗(yàn)證全閃存 Virtual SAN 特有的空間效率提高技術(shù),我們啟用了去重和壓縮特性。如圖一所示,為本次測(cè)試的方案架構(gòu)。
Oracle RAC 在全閃存架構(gòu) Virtual SAN 上的架構(gòu)圖
本次測(cè)試中使用的軟件除了 Virtual SAN 6.2 以外,部署 Oracle RAC 服務(wù)器節(jié)點(diǎn)的虛擬機(jī)使用的是 Oracle 企業(yè)版 Linux 6.7。Oracle 數(shù)據(jù)庫(kù)及集群感知軟件版本為 12.1.0.2.0。每個(gè) Oracle RAC 節(jié)點(diǎn)配置了8個(gè) vCPU 和 64GB 內(nèi)存,其中 28GB 內(nèi)存分配給系統(tǒng)全局區(qū)(SGA)。
Oracle ASM 數(shù)據(jù)磁盤(pán)組使用外部冗余方式配置,分配單元為 1MB。數(shù)據(jù)、快速恢復(fù)區(qū)(FRA)和重做日志的 ASM 磁盤(pán)組使用不同的虛擬 PVSCSI 控制器,歸檔日志保存區(qū)使用FRA磁盤(pán)組。
為了評(píng)估 Oracle RAC 在 Virtual SAN 上的 OLTP 性能表現(xiàn),我們使用 SwingBench 2.5 在 RAC 集群上生成類(lèi) TPC-C 工作負(fù)載以模擬交易類(lèi)型數(shù)據(jù)庫(kù)的工作負(fù)載。數(shù)據(jù)庫(kù)生成模式為 SOE,生成約 420GB 的數(shù)據(jù)庫(kù)。
全閃存架構(gòu)Virtual SAN具體配置
測(cè)試中我們采用4臺(tái) Dell PowerEdge R630 作為 ESXi 主機(jī),每臺(tái)主機(jī)擁有兩顆12核并可啟用超線程的處理器,256GB DDR4 內(nèi)存,以及兩個(gè)磁盤(pán)組。每個(gè)磁盤(pán)組擁有1塊 400GB 的 Intel SSD 作為緩存層以及4塊 400GB 的 Intel SSD 作為容量層,總的裸磁盤(pán)容量達(dá)到了 11.88TB。Virtual SAN 網(wǎng)絡(luò)配置基于萬(wàn)兆網(wǎng)絡(luò)。
測(cè)試結(jié)果
Oracle RAC 在全閃存架構(gòu) Virtual SAN 上的性能
在 Swingbench 設(shè)置 150 為用戶(hù)的情況下,4節(jié)點(diǎn) Oracle RAC 的平均 TPM 達(dá)到了 329,258。其中峰值 TPM 達(dá)到了驚人的 383,050!
Swingbench 觀測(cè)數(shù)據(jù)
Oracle自動(dòng)工作負(fù)載信息庫(kù)(Automatic Workload Repository, AWR)是Oracle 10g引入的收集數(shù)據(jù)庫(kù)統(tǒng)計(jì)信息的內(nèi)置工具,其主要采集與性能相關(guān)的統(tǒng)計(jì)數(shù)據(jù),并從這些統(tǒng)計(jì)數(shù)據(jù)中導(dǎo)出性能度量,以跟蹤潛在的問(wèn)題。從AWR的報(bào)告中,我們觀測(cè)到等待時(shí)間最長(zhǎng)的事務(wù)為“日志文件同步”(log file sync),其次為“db文件順序讀取”(db file sequential read)。如圖三所示,4個(gè)節(jié)點(diǎn)的“日志文件同步”最大等待時(shí)間均小于7毫秒,而db文件順序讀取的最大等待時(shí)間則均小于2毫秒。
Oracle I/O 事務(wù)等待時(shí)間
為 Oracle AWR 報(bào)告中的 IO 工作負(fù)載情況?梢钥吹 RAC 集群的物理寫(xiě)入達(dá)到了 9,590 IOPS,而物理讀取 IOPS 達(dá)到了16,824,總計(jì) IOPS 為26,414。
Oracle AWR報(bào)告中的I/O工作負(fù)載
當(dāng)4個(gè) RAC 節(jié)點(diǎn)協(xié)同工作時(shí),AWR 報(bào)告中顯示每個(gè)節(jié)點(diǎn)平均 CPU 利用率在55%左右,最大 CPU 利用率也不超過(guò)62%。
Oracle RAC 4個(gè)不同節(jié)點(diǎn)的CPU利用率
從 Virtual SAN 存儲(chǔ)性能的角度來(lái)看,我們測(cè)量到的后端平均 IOPS 和平均吞吐量分別為 48,300 和 730MB/s,如圖六所示。在通過(guò) Virtual SAN 性能監(jiān)控進(jìn)行觀察的大多數(shù)時(shí)間內(nèi),讀取延遲均小于1.5毫秒,而寫(xiě)入延遲則小于1毫秒。
Virtual SAN 后端性能——IOPS,帶寬與延遲
Oracle RAC在Virtual SAN上的可擴(kuò)展性
本部分我們主要關(guān)注4節(jié)點(diǎn)Oracle RAC數(shù)據(jù)庫(kù)在Virtual SAN數(shù)據(jù)存儲(chǔ)上的擴(kuò)展性能。在測(cè)試過(guò)程中,我們將RAC集群從單一節(jié)點(diǎn)逐漸擴(kuò)展到四個(gè)節(jié)點(diǎn),每次運(yùn)行相同的測(cè)試以觀察RAC的性能擴(kuò)展情況。
Oracle RAC在Virtual SAN上的可擴(kuò)展性
如圖七所示的測(cè)試結(jié)果表明,當(dāng) Oracle RAC 節(jié)點(diǎn)逐漸添加到 RAC 集群中時(shí),Oracle 的每分鐘交易數(shù)(TPM)幾乎呈線性增加。與此同時(shí),在RAC節(jié)點(diǎn)數(shù)量增加時(shí),通過(guò) Swingbench 監(jiān)控到的數(shù)據(jù)庫(kù)響應(yīng)時(shí)間也從開(kāi)始時(shí)的52毫秒逐漸降低到了25毫秒。全閃存架構(gòu) Virtual SAN 可以向高 IOPS 與吞吐量的 Oracle RAC 業(yè)務(wù)提供良好的可擴(kuò)展性。
總結(jié)
本次測(cè)試驗(yàn)證了以全閃存架構(gòu) Virtual SAN 為存儲(chǔ)平臺(tái)可以向 Oracle RAC 數(shù)據(jù)庫(kù)提供高性能的存儲(chǔ)支持。Virtual SAN 作為一款同時(shí)具有高性能與高性?xún)r(jià)比的存儲(chǔ)性能平臺(tái),部署十分便捷,其易于管理并完全融合于 VMware vSphere 平臺(tái)。在 vSphere 平臺(tái)上部署 Oracle RAC 節(jié)點(diǎn),得益于 Virtual SAN 原生的分布式存儲(chǔ)架構(gòu),Oracle RAC 節(jié)點(diǎn)在橫向擴(kuò)展時(shí)可以獲得幾近線性的性能增長(zhǎng)。我們認(rèn)為 Virtual SAN 可作為部署關(guān)鍵業(yè)務(wù) Oracle RAC 的理想選擇。