?

Oracle RAC和TimesTen性能研究

2015-12-24 01:52彭彬鄧榮偉吳璣震翁亞偉
湖北汽車工業學院學報 2015年1期
關鍵詞:測試數據高性能基準

彭彬,鄧榮偉,吳璣震,翁亞偉

(湖北汽車工業學院電氣與信息工程學院,湖北十堰442002)

Oracle RAC和TimesTen性能研究

彭彬,鄧榮偉,吳璣震,翁亞偉

(湖北汽車工業學院電氣與信息工程學院,湖北十堰442002)

依據吞吐率這個性能評價指標,基于TPC-C測試基準,使用Swingbench對Oracle的RAC和TimesTen產品進行了性能測試,并對測試數據進行統計學分析。結果表明:RAC的性能與RAC節點數之間有極高的相關性,不同復制技術下的TimesTen性能有顯著差異,其中基于讀寫分離的TimesTen有10倍單節結點RAC的吞吐率均值,性能最好。

性能;吞吐率;測試基準;TPC-C

在信息技術領域,常用響應時間和吞吐率來衡量一個系統或者組件的性能。2個概念本質上是統一的,前者從客戶角度來評估性能,而后者從系統角度來評估性能。近年來,高性能這個詞在數據庫界被廣泛使用,各大數據庫廠商紛紛推出自己的所謂高性能產品,為用戶構建企業級高性能數據庫應用提供了更多的產品支持,但同時也增加了用戶選擇產品的難度。因此研究高性能數據庫產品的性能特點,可為用戶的產品選擇和合理投資提供參考依據,這對于構建高性能數據庫應用有現實意義。

RAC和TimesTen是Oracle公司推出的2款高性能產品,用戶在構建基于Oracle平臺的企業級高性能應用時,同樣也存在著產品選擇和投資決策問題:如選擇TimesTen還是多節點RAC,若選擇TimesTen又需采用哪種復制技術,選擇多節點RAC又需創建多少節點才合理。目前國內尚無TimesTen的性能研究文獻,而關于RAC的性能研究都沒有關注用戶關心的RAC性能與RAC節點數關系的問題,如文獻[1]只是簡單比較了單、雙結點RAC的性能差異,文獻[2]只研究外存對RAC性能的影響。本文中將基于業界公認的測試基準,利用開源測試工具,從吞吐率的角度研究RAC性能與RAC節點數之間的關系以及不同復制技術下TimesTen的性能差異,為用戶構建和升級高性能數據庫應用提供參考依據。

1 TPC-C測試基準與測試工具

1.1 TPC-C測試基準

所謂測試基準(Benchmark)是一種用來測試計算機軟件或硬件某一方面性能的規范[3]。由于不同類型的數據庫業務所涉及的CRUD負載的分布密度有較大差別,所以需依據數據庫產品所支持的業務類型來建立其測試基準。

TPC(Transaction Processing Performance Council,事務處理性能委員會)是一個定義事務處理與數據庫性能測試基準標準規范的組織,其提供的TPC系列基準已經成為軟/硬件廠商認可的工業基準。TPC-C是TPC于1992年發布的面向聯機事務處理型數據庫產品的性能測試基準[4],該基準模擬一個批發公司的在線處理業務,從事務支持能力、執行時間、數據及其訪問方式等方面綜合測試一個數據庫產品的性能[5]。

TPC-C測試基準模擬的批發公司擁有若干個倉庫,每個倉庫至多為相鄰的10個街區供貨,1個街區至多服務3000個客戶,每個倉庫維護100,000種商品的庫存;當業務擴展到新的街區時,公司可以添加新的倉庫,如圖1所示。批發業務涉及Warehouse、District、Customer、History(客戶定貨歷史)、Order、Order-Line(訂單明細)、New-Order、Item、Stock(庫存)等9個實體,如圖2所示。

圖1 TPC-C模型

圖2 TPC-C實體及其規模

TPC-C定義了不同CRUD分布的5種業務:1)New-Order(下單),代表執行頻率高且響應時間短的寫事務,限定有1%的事務會回滾。2)Payment(付款),代表執行頻率高且響應時間短的寫事務,對查詢關鍵字有限定。3)Order-Status(訂單查詢),代表執行頻率低且響應時間短的只讀事務。4)Delivery(發貨),一次處理訂貨時間最長的10個訂單,代表執行頻率低且響應時間長的讀寫型批事務。5)Stock-Level(庫存報警),查詢最近售出的庫存在一定數量以下的所有商品,代表執行頻率低且響應時間長、一致性要求低的只讀事務。

5種業務的約束如表1所示。TPC-C用每分鐘處理的最大訂單數作為系統性能的衡量指標,每個訂單都涉及上述5種業務。顯然,TPC-C是用業務吞吐率來衡量系統的性能。

表1 業務約束

1.2 Swingbench簡介

Swingbench是一款免費的Oracle測試工具,配有多個測試模塊,其中的Order Entry模塊支持TPC-C測試基準[6],性能計算用式(1)表示:

式中:U為并發用戶數;N為平均每個用戶每分鐘發出的業務請求數;M1、M2、M3分別為用戶業務請求中更新、查詢和統計3種業務所占的比例;T1、T2、T3分別為平均每個更新、查詢、統計業務所產生的事務數;O為一天內高峰值處理量與平均值的倍數;A為一個工程經驗系數,B為服務器保留的冗余系數。

為滿足TPC-C測試基準,測試前需要設置上述參數,本文中采用系統缺省設置:

2 Oracle RAC性能研究

2.1 RAC簡介

Oracle RAC(Real Application Cluster,真正應用集群)是Oracle公司從Oracle9i開始提供的數據庫產品,它可在多臺計算機上安裝共享同一個存儲設備的數據庫實例,每一個安裝了數據庫實例的數據庫服務器稱為RAC的一個節點,這些節點能并行訪問存儲設備[7],如圖3所示。

圖3 Oracle RAC體系結構

2.2 測試環境配置

本文中使用Oracle 11.2配置RAC測試環境,節點安裝Linux操作系統,相關配置參數見表2。

表2 RAC測試環境配置

2.3 測試數據及分析

本文中依次配置了1~5個節點的RAC環境,每種RAC環境均進行3次測試,測試數據見表3。

表3 RAC測試數據 tpmC

表4結果說明平均吞吐率與RAC節點數之間存在極高的相關性,圖4也反映了這種關系。但由于相關系數不為1,故二者之間不是完全的線性關系,圖4中平均吞吐率后期增勢逐漸平緩也驗證了這一點。這就說明RAC的優勢可能側重于可以提供(N-1)的宕機容災能力,不能單純通過增加RAC節點數來追求系統性能的快速提升。

表4 平均吞吐率與節點數的相關性分析

圖4 RAC節點數與平均吞吐率關系曲線

3 TimesTen性能研究

3.1 TimesTen簡介

TimesTen全稱為Oracle TimesTen In-Memory Database,是一內存優化的關系數據庫,其數據駐留在內存,可以作為單獨的數據庫使用,也可作為高速緩存或者嵌入式數據庫部署在應用層,用戶可以通過JDBC、ODBC、ODP.NET、OCI、PRO*C/C++使用標準的SQL和PL/SQL編程接口訪問[8],如圖5所示。為保證TimesTen的可用性,一般在系統中配置2個TimesTen節點,節點之間選用負載均衡、讀寫分離或者雙機熱備份等技術作數據實時復制。

圖5 TimesTen結構

3.2 測試數據及分析

本文中使用TimesTen 11.2搭建TimesTen測試環境,配置了2個TimesTen節點,主要測試不同數據實時復制技術下的TimesTen性能特點。測試數據見表5,統計分析見表6。

表5 TimesTen測試數據 tpmC

表6 單因素方差分析(α=0.05)

由于P值0.0000115遠小于置信度α,因此從統計學意義看,3種復制方式下的TimesTen性能有著顯著差異。由圖6可以看出,基于讀寫分離技術的TimesTen性能最好,基于雙機熱備技術的Times Ten性能最差,基于負載均衡技術的TimesTen性能居中。究其原因,雙機熱備技術中只有一臺服務器對外提供服務,故性能最低;負載均衡技術依靠網絡完成緩存融合,性能受網絡負載的影響大;而讀寫分離技術由于只借助網絡完成復制,受網絡負載影響小,故性能最高。

此外,基于讀寫分離復制技術的TimesTen平均吞吐率幾乎是單節點RAC的10倍(圖6),由此說明TimesTen是提升用戶系統性能的首選產品。

圖6 TimesTen與單節點RAC平均吞吐率對比

4 結束語

RAC和TimesTen作為Oracle的高性能產品,都能提高系統性能,但測試數據表明TimesTen更具優勢,是追求性能提升的首選產品。

可以預測,把RAC與TimesTen集成(圖7),為使用頻率較高的小型應用提供一個雙節點、讀寫分離的TimesTen,對于使用頻率較小的大型復雜應用,直接與Oracle RAC連接,應該是一個既具有高性能,又具備宕機容災能力的組合系統。

圖7 TimesTen與RAC的集成

[1]周曉丹,馮少榮,薛永生.Oracle 10g RAC核心技術研究與分析[J].計算機工程,2007(4):53-55.

[2]黃蘇雅.ORACLE 11G RAC OLTP海量數據庫的存儲架構設計及性能分析[D].上海:上海交通大學,2010.

[3]于戈,王欣暉,王國仁,等.TPC-C測試標準及其在面向對象數據庫上的設計與實現[J].計算機科學,1998

(3):57-60.

[4]馮丹青,周海鷹,左德承,等.基于TPC-C基準的高端容錯機評測系統的研究[J].計算機研究與發展,2010(S1):15-21.

[5]Transaction Processing Performance Council.TPC BENC HMARK?C-Standard Specification,Revision 5.11[EB/ OL].[2014-10-20].http://www.tpc.org/tpcc/spec/tpcc_current.pdf.

[6]Dominic Giles.Swingbench[EB/OL].[2014-10-20].http://www.dominicgiles.com/Swingbench.pdf.

[7]Prusinski,Ben Jaffer Hussain,Syed.Oracle 11g R1/R2 Real Application Clusters Essentials[M].Olton,Birmingham,GBR:Packt Publishing,2011:22-23.

[8] Oracle.Oracle TimesTen Application-Tier Database Cache Introduction,11g Release 2(11.2.2)[EB/OL].[2014-10-20].http://docs.oracle.com/cd/E21901_01/doc/timesten.1122/21631.pdf.

Research on Performance of Oracle RAC and TimesTen

Peng Bin,Deng Rongwei,Wu Jizhen,Weng Yawei
(School of Electrical&Information Engineering,Hubei University of Automotive Technology,Shiyan 442002,China)

According to the throughput rate,based on TPC-C benchmark,the performance of Oracle RAC and TimesTen was tested with Swingbench,and the test data was handled with statistical analysis.The results show that the performance of RAC has high correlation with RAC nodes,TimesTen’s performance under different replication technology makes a significant difference,and TimesTen with write read separation replication technology has 10 times the throughput rate of the single node RAC and has the best performance.

performance;throughput rate;Benchmark;TPC-C

TP311.13

A

1008-5483(2015)01-0056-04

10.3969/j.issn.1008-5483.2015.01.012

2014-10-20

湖北汽車工業學院大學生創新訓練項目(SJ201439)

彭彬(1971-),男,湖北十堰人,副教授,從事Web工程、網絡與數據庫方面的研究。E-mail:pengbinhust@163.com

猜你喜歡
測試數據高性能基準
下期要目
測試數據管理系統設計與實現
應如何確定行政處罰裁量基準
一款高性能BGO探測器的研發
高性能砼在橋梁中的應用
基于自適應粒子群優化算法的測試數據擴增方法
明基準講方法??待R
空間co-location挖掘模式在學生體能測試數據中的應用
滑落還是攀爬
SATA推出全新高性能噴槍SATAjet 5000 B
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合