• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 國產(chǎn)數(shù)據(jù)庫TPC-C基準(zhǔn)性能測試應(yīng)用與分析

    國產(chǎn)數(shù)據(jù)庫TPC-C基準(zhǔn)性能測試應(yīng)用與分析

    作者:郭盈 高熾揚 周潤松 時間:2012-11-13 來源:中國軟件評測中心 收藏

       隨著十二五規(guī)劃國家重大專項的制定發(fā)布,將國產(chǎn)的發(fā)展列入國家基礎(chǔ)軟件重點支持對象之一。同時,國產(chǎn)的應(yīng)用也變得越來越廣泛,目前需要對國產(chǎn)的質(zhì)量與國外數(shù)據(jù)庫質(zhì)量進行對比的需要日益迫切,而重點又圍繞著數(shù)據(jù)庫處理的效率問題。因此,我們選擇了的測試標(biāo)準(zhǔn)對此加以測試。本文描述了的標(biāo)準(zhǔn),同時提出了的的設(shè)計與實現(xiàn)方式,最后通過國外Oracle數(shù)據(jù)庫與國產(chǎn)數(shù)據(jù)庫的對比性能測試實例給出了TPC-C測試的流程與方法,為實施數(shù)據(jù)庫性能測試提供了指導(dǎo)依據(jù)。

    本文引用地址:http://www.czjhyjcfj.com/article/138823.htm

      1、 TPC-C概述

      TPC-C測試標(biāo)準(zhǔn)是TPC(Transaction Processing Performance Council)委員會公布的一個用于衡量在線事務(wù)處理系統(tǒng)性能和性能價格比的測試標(biāo)準(zhǔn)。TPC組織定義了一套嚴(yán)格的TPC-C的測試模型和架構(gòu)為實現(xiàn)其相應(yīng)的軟件提供依據(jù)和標(biāo)準(zhǔn),業(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ù)訪問和更新之間的資源爭奪。

      此標(biāo)準(zhǔn)可以在TPC的網(wǎng)站提供免費下載。同時發(fā)布的TPC-C的報告中,給出了物理服務(wù)器的名稱、操作系統(tǒng)類型、數(shù)據(jù)庫類型、是否集群、tpmC和性價比等。從中可以看出只要符合TPC-C測試標(biāo)準(zhǔn)開發(fā)的應(yīng)用,同時固定其中的配置,變化被測的對象,如物理服務(wù)器、操作系統(tǒng)和數(shù)據(jù)庫,就可以它們進行橫向的基準(zhǔn)測試,通過tpmC的優(yōu)劣來評估被測對象的好壞。

      2、 TPC-C的設(shè)計

      TPC-C測試標(biāo)準(zhǔn)的主要設(shè)計目標(biāo)是:1)模擬包括更新操作和只讀操作的多類型事務(wù);2)模擬不同特征的事務(wù)處理,包括在線式(對響應(yīng)時間有嚴(yán)格要求)和延時式(對響應(yīng)時間的要求比較寬松);3)所有事務(wù)必須嚴(yán)格符合ACID特性;4)擁有復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和聯(lián)系;5)采用多樣的數(shù)據(jù)訪問方式;6)模擬重負(fù)載下達數(shù)據(jù)庫上的多用戶并發(fā)操作。下圖為TPC-C的設(shè)計模型。

      圖 1 TPC-C設(shè)計模型-資料來源于中國評測

      TPC-C測試用到的模型是一個大型的商品批發(fā)銷售公司,它擁有若干個分布在不同區(qū)域的商品倉庫。當(dāng)業(yè)務(wù)擴展的時候,公司將添加新的倉庫。每個倉庫負(fù)責(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é)果主要有兩個指標(biāo),即流量指標(biāo)(Throughput,簡稱tpmC)和性價比(Price/Performance,簡稱Price/tpmC)。

      · 流量指標(biāo)(Throughput,簡稱tpmC):按照TPC組織的定義,流量指標(biāo)描述了系統(tǒng)在執(zhí)行支付操作、訂單狀態(tài)查詢、發(fā)貨和庫存狀態(tài)查詢這4種交易的同時,每分鐘可以處理多少個新訂單交易。所有交易的響應(yīng)時間必須滿足TPC-C測試規(guī)范的要求,且各種交易數(shù)量所占的比例也應(yīng)該滿足TPC-C測試規(guī)范的要求。在這種情況下,流量指標(biāo)值越大說明系統(tǒng)的聯(lián)機事務(wù)處理能力越高。

      · 性價比(Price/Performance,簡稱Price/tpmC):即測試系統(tǒng)的整體價格與流量指標(biāo)的比值,在獲得相同的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)系以及最終的流量指標(biāo)(Throughput,簡稱tpmC)指標(biāo)。

      在測試過程中,我們采用兩臺配置完全相同的服務(wù)器分別安裝Oracle數(shù)據(jù)庫11g的版本和國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)。網(wǎng)絡(luò)采用1000Gbps快速以太網(wǎng)交換機進行互聯(lián),測試端采用一體化分布式管理的方法,即一個主控管理臺和多個分布式并發(fā)客戶端,測試代碼放在主控臺上,通過分發(fā)到客戶端實現(xiàn)大的并發(fā)訪問。測試拓?fù)鋱D如下:

      圖 3 測試拓?fù)鋱D-資料來源于中國評測

      結(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)文章:交換機工作原理




    關(guān)鍵詞: TPC-C 數(shù)據(jù)庫

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 靖宇县| 馆陶县| 平昌县| 泾源县| 汝南县| 双桥区| 天台县| 夹江县| 瑞丽市| 勃利县| 闽侯县| 沂水县| 柏乡县| 稷山县| 八宿县| 宜良县| 嵩明县| 花莲市| 邵阳县| 綦江县| 威海市| 蓬溪县| 浦江县| 荣成市| 方正县| 黎城县| 和顺县| 南乐县| 洪泽县| 大城县| 鄂伦春自治旗| 家居| 元江| 平阳县| 舒兰市| 奉新县| 南平市| 盈江县| 若羌县| 林州市| 镇平县|