國產(chǎn)數(shù)據(jù)庫TPC-C基準性能測試應(yīng)用與分析
隨著十二五規(guī)劃國家重大專項的制定發(fā)布,將國產(chǎn)數(shù)據(jù)庫的發(fā)展列入國家基礎(chǔ)軟件重點支持對象之一。同時,國產(chǎn)數(shù)據(jù)庫的應(yīng)用也變得越來越廣泛,目前需要對國產(chǎn)數(shù)據(jù)庫的質(zhì)量與國外數(shù)據(jù)庫質(zhì)量進行對比的需要日益迫切,而重點又圍繞著數(shù)據(jù)庫處理的效率問題。因此,我們選擇了TPC-C的測試標準對此加以測試。本文描述了TPC-C的標準,同時提出了TPC-C的的設(shè)計與實現(xiàn)方式,最后通過國外Oracle數(shù)據(jù)庫與國產(chǎn)數(shù)據(jù)庫的對比性能測試實例給出了TPC-C測試的流程與方法,為實施數(shù)據(jù)庫性能測試提供了指導(dǎo)依據(jù)。
本文引用地址:http://butianyuan.cn/article/138823.htm1、 TPC-C概述
TPC-C測試標準是TPC(Transaction Processing Performance Council)委員會公布的一個用于衡量在線事務(wù)處理系統(tǒng)性能和性能價格比的測試標準。TPC組織定義了一套嚴格的TPC-C的測試模型和架構(gòu)為實現(xiàn)其相應(yīng)的軟件提供依據(jù)和標準,業(yè)務(wù)模型主要是依據(jù)實際批發(fā)商業(yè)活動作為其設(shè)計模型。TPC-C規(guī)范是專門針對聯(lián)機交易處理系統(tǒng)(OLTP系統(tǒng))的,一般情況下我們也把這類系統(tǒng)稱為業(yè)務(wù)處理系統(tǒng)。這類系統(tǒng)具有比較鮮明的特點,這些特點主要表現(xiàn)如下。
· 多種事務(wù)處理并發(fā)執(zhí)行,充分體現(xiàn)了事物處理的復(fù)雜性;
· 在線與離線的事務(wù)執(zhí)行模式;
· 多個在線會話終端;
· 適中的系統(tǒng)運行時間和應(yīng)用程序運行時間;
· 大量的磁盤I/O數(shù)據(jù)流;
· 強調(diào)事務(wù)的完整性要求(ACID);
· 對于非一致的數(shù)據(jù)分布,使用主鍵和從鍵進行訪問;
· 數(shù)據(jù)庫由許多大小不一、屬性多樣,而又相互關(guān)聯(lián)的數(shù)據(jù)表組成;
· 存在較多數(shù)據(jù)訪問和更新之間的資源爭奪。
此標準可以在TPC的網(wǎng)站提供免費下載。同時發(fā)布的TPC-C的報告中,給出了物理服務(wù)器的名稱、操作系統(tǒng)類型、數(shù)據(jù)庫類型、是否集群、tpmC和性價比等。從中可以看出只要符合TPC-C測試標準開發(fā)的應(yīng)用,同時固定其中的配置,變化被測的對象,如物理服務(wù)器、操作系統(tǒng)和數(shù)據(jù)庫,就可以它們進行橫向的基準測試,通過tpmC的優(yōu)劣來評估被測對象的好壞。
2、 TPC-C的設(shè)計
TPC-C測試標準的主要設(shè)計目標是:1)模擬包括更新操作和只讀操作的多類型事務(wù);2)模擬不同特征的事務(wù)處理,包括在線式(對響應(yīng)時間有嚴格要求)和延時式(對響應(yīng)時間的要求比較寬松);3)所有事務(wù)必須嚴格符合ACID特性;4)擁有復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和聯(lián)系;5)采用多樣的數(shù)據(jù)訪問方式;6)模擬重負載下達數(shù)據(jù)庫上的多用戶并發(fā)操作。下圖為TPC-C的設(shè)計模型。
圖 1 TPC-C設(shè)計模型-資料來源于中國評測
TPC-C測試用到的模型是一個大型的商品批發(fā)銷售公司,它擁有若干個分布在不同區(qū)域的商品倉庫。當業(yè)務(wù)擴展的時候,公司將添加新的倉庫。每個倉庫負責(zé)為10個銷售點供貨,每個銷售點為3000個客戶提供服務(wù),每個客戶提交的訂單中,平均每個訂單有10項產(chǎn)品,所有訂單中約1%的產(chǎn)品在其直接所屬的倉庫中沒有存貨,必須由其他區(qū)域的倉庫來供貨。同時,每個倉庫都要維護公司銷售的100000種商品的庫存記錄。
TPC-C測試系統(tǒng)數(shù)據(jù)庫由9張表組成,它們之間的關(guān)系如圖所示。
圖 2 TPC-C測試系統(tǒng)數(shù)據(jù)庫-資料來源于中國評測
其中,表框里的數(shù)字表示該表將要存放多少條記錄,倉庫數(shù)W的調(diào)整在測試中能夠體現(xiàn)數(shù)據(jù)庫所能夠支持的數(shù)據(jù)規(guī)模的能力;表間的數(shù)字表示表數(shù)據(jù)的父子關(guān)系之間兒子的個數(shù),比如一個Warehouse要對應(yīng)10個District等,另外,“+”號表示這種對應(yīng)關(guān)系可能會更多。
該系統(tǒng)需要處理的交易事務(wù)主要為以下幾種。
· 新訂單:客戶輸入一筆新的訂貨交易;
· 支付操作:更新客戶賬戶余額以反映其支付狀況;
· 發(fā)貨:發(fā)貨(模擬批處理交易);
· 訂單狀態(tài)查詢:查詢客戶最近交易的狀態(tài);
· 庫存狀態(tài)查詢:查詢倉庫庫存狀況,以便能夠及時補貨。
有關(guān)事物的具體描述如下。
· 新訂單:其主要事務(wù)內(nèi)容為對于任意一個客戶端,從固定的倉庫中隨機選取5~15件商品,創(chuàng)建新訂單。其中1%的訂單,要由于假想的用戶操作失敗而回滾;該事務(wù)的主要特點為讀寫、頻繁、要求響應(yīng)快,是系統(tǒng)中最典型的操作,也是系統(tǒng)處理中的主要工作量,最終也是以數(shù)據(jù)庫系統(tǒng)每分鐘能夠處理的新訂單數(shù)來對數(shù)據(jù)庫系統(tǒng)的性能進行評價。
· 支付操作:其主要事務(wù)內(nèi)容為對于任意一個客戶端,從固定倉庫隨機選取一個轄區(qū)及其內(nèi)的用戶,采用隨機的金額支付一筆訂單,并同時將該訂單記錄為相應(yīng)歷史訂單。該事物的主要特點為10個批量、讀寫、較少、較寬松的響應(yīng)時間。
· 訂單狀態(tài)查詢:其主要事務(wù)內(nèi)容為對于任意一個客戶端,從固定倉庫隨機選取一個轄區(qū)及其內(nèi)用戶,讀取該用戶的最后一條訂單,顯示訂單內(nèi)每件商品的狀態(tài)。該事物的主要特點為只讀、較少、要求響應(yīng)快。
· 發(fā)貨:其主要事務(wù)內(nèi)容為對于任意一個客戶端,隨機選取一個發(fā)貨包,更新被處理訂單的用戶賬戶余額,并把修改后的訂單從新訂單中刪除。該事物的主要特點為讀寫、頻繁、響應(yīng)快。
· 庫存狀態(tài)查詢:其主要事務(wù)內(nèi)容為對于任意一個客戶端,從固定的倉庫和轄區(qū)選取最后的20條訂單,檢查訂單中所有貨物的庫存。計算并顯示所有庫存低于隨機生成閾值的商品數(shù)量。該事物的主要特點為只讀、較少、較為寬松的響應(yīng)時間。
對于以上這5種類型的事務(wù)交易,前4種類型的交易要求響應(yīng)時間在5秒鐘以內(nèi);對于庫存狀況查詢交易,要求響應(yīng)時間在20秒以內(nèi)。同時,這5種交易最終的比例還必須滿足一定的要求,即支付操作的比例不得少于43%,訂單狀態(tài)查詢、發(fā)貨和庫存狀態(tài)查詢的比例分別均不得少于4%。具體而言,5種事務(wù)要滿足的時間、比例及隔離級別要求如表所示。
表 1 5種類型的事務(wù)交易-資料來源于中國評測
TPC-C測試的結(jié)果主要有兩個指標,即流量指標(Throughput,簡稱tpmC)和性價比(Price/Performance,簡稱Price/tpmC)。
· 流量指標(Throughput,簡稱tpmC):按照TPC組織的定義,流量指標描述了系統(tǒng)在執(zhí)行支付操作、訂單狀態(tài)查詢、發(fā)貨和庫存狀態(tài)查詢這4種交易的同時,每分鐘可以處理多少個新訂單交易。所有交易的響應(yīng)時間必須滿足TPC-C測試規(guī)范的要求,且各種交易數(shù)量所占的比例也應(yīng)該滿足TPC-C測試規(guī)范的要求。在這種情況下,流量指標值越大說明系統(tǒng)的聯(lián)機事務(wù)處理能力越高。
· 性價比(Price/Performance,簡稱Price/tpmC):即測試系統(tǒng)的整體價格與流量指標的比值,在獲得相同的tpmC值的情況下,價格越低越好。
3、 數(shù)據(jù)性能對比測試
測試方法:通過上述的設(shè)計模型建立相關(guān)的表,對表中的數(shù)據(jù)按設(shè)計模型的規(guī)模進行填充。將主要的并發(fā)業(yè)務(wù)模型分別部署到不同的并發(fā)客戶端上,通過主控臺的統(tǒng)一控制控制測試的啟動、執(zhí)行和結(jié)束,最后統(tǒng)計各個客戶端傳來的性能數(shù)據(jù),通過統(tǒng)計分析展現(xiàn)給測試人員,幫助分析數(shù)據(jù)庫的性能。
測試場景:分別在Oracle和國產(chǎn)數(shù)據(jù)庫測試1000個倉庫持續(xù)2個小時,同時收集服務(wù)器端的系統(tǒng)資源占用、5個事務(wù)的響應(yīng)時間,業(yè)務(wù)比例關(guān)系以及最終的流量指標(Throughput,簡稱tpmC)指標。
在測試過程中,我們采用兩臺配置完全相同的服務(wù)器分別安裝Oracle數(shù)據(jù)庫11g的版本和國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)。網(wǎng)絡(luò)采用1000Gbps快速以太網(wǎng)交換機進行互聯(lián),測試端采用一體化分布式管理的方法,即一個主控管理臺和多個分布式并發(fā)客戶端,測試代碼放在主控臺上,通過分發(fā)到客戶端實現(xiàn)大的并發(fā)訪問。測試拓撲圖如下:
圖 3 測試拓撲圖-資料來源于中國評測
結(jié)果分析對比:
1)Tpmc的數(shù)據(jù)對比:
上圖的分析,Oracle在1000個倉庫下產(chǎn)生的Tpmc值為11,840.90 tpmC
國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)在1000個倉庫下產(chǎn)生的Tpmc值為12,840.01 tpmC
2)時間特性分析
3)服務(wù)器的資源特性分析
a)CPU的利用率對比
通過上圖的對比,Oracle數(shù)據(jù)庫服務(wù)器多核CPU的利用均等的方式別調(diào)用,而國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)服務(wù)器的CPU利用則重點在3個核CPU上,對多核處理的均等調(diào)用方式有待進一步提升。
b)內(nèi)存的利用率對比
通過上圖的對比分析,Oracle數(shù)據(jù)庫在測試過程內(nèi)存的使用迅速只剩下5000MB一下的可用空間,而國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)服務(wù)器的內(nèi)存占用是漸進的方式的消耗。
c)網(wǎng)絡(luò)的利用率對比
通過上圖的對比分析,Oracle數(shù)據(jù)庫服務(wù)器在測試過程中,服務(wù)器的發(fā)出流量達到6000KBytes/Sec,接收的流量達4000Kbytes/Sec;國產(chǎn)數(shù)據(jù)庫服務(wù)器在測試過程中,服務(wù)器的發(fā)出流量達到2000KBytes/Sec,接收的流量達1500Kbytes/Sec。
d)磁盤的利用率對比
通過上圖的對比分析,Oracle數(shù)據(jù)庫服務(wù)器在測試過程中,數(shù)據(jù)庫服務(wù)器的磁盤繁忙度達100%;而國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)的磁盤繁忙程度在逐漸下降。
4、 結(jié)論
本文介紹了一種測試數(shù)據(jù)庫性能測試的方法TPC-C,通過倉庫的商業(yè)模擬模擬數(shù)據(jù)庫的在線處理方式。通過這種測試方法可以對國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)和國外的數(shù)據(jù)庫在在線處理的性能上進行對比分析,幫助國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)的制造商改進其產(chǎn)品性能提供了客觀的評價依據(jù)。
交換機相關(guān)文章:交換機工作原理
評論