新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 國產數據庫TPC-C基準性能測試應用與分析

        國產數據庫TPC-C基準性能測試應用與分析

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

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

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

          1、 TPC-C概述

          TPC-C測試標準是TPC(Transaction Processing Performance Council)委員會公布的一個用于衡量在線事務處理系統性能和性能價格比的測試標準。TPC組織定義了一套嚴格的TPC-C的測試模型和架構為實現其相應的軟件提供依據和標準,業務模型主要是依據實際批發商業活動作為其設計模型。TPC-C規范是專門針對聯機交易處理系統(OLTP系統)的,一般情況下我們也把這類系統稱為業務處理系統。這類系統具有比較鮮明的特點,這些特點主要表現如下。

          · 多種事務處理并發執行,充分體現了事物處理的復雜性;

          · 在線與離線的事務執行模式;

          · 多個在線會話終端;

          · 適中的系統運行時間和應用程序運行時間;

          · 大量的磁盤I/O數據流;

          · 強調事務的完整性要求(ACID);

          · 對于非一致的數據分布,使用主鍵和從鍵進行訪問;

          · 數據庫由許多大小不一、屬性多樣,而又相互關聯的數據表組成;

          · 存在較多數據訪問和更新之間的資源爭奪。

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

          2、 TPC-C的設計

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

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

          TPC-C測試用到的模型是一個大型的商品批發銷售公司,它擁有若干個分布在不同區域的商品倉庫。當業務擴展的時候,公司將添加新的倉庫。每個倉庫負責為10個銷售點供貨,每個銷售點為3000個客戶提供服務,每個客戶提交的訂單中,平均每個訂單有10項產品,所有訂單中約1%的產品在其直接所屬的倉庫中沒有存貨,必須由其他區域的倉庫來供貨。同時,每個倉庫都要維護公司銷售的100000種商品的庫存記錄。

          TPC-C測試系統數據庫由9張表組成,它們之間的關系如圖所示。

          圖 2 TPC-C測試系統數據庫-資料來源于中國評測

          其中,表框里的數字表示該表將要存放多少條記錄,倉庫數W的調整在測試中能夠體現數據庫所能夠支持的數據規模的能力;表間的數字表示表數據的父子關系之間兒子的個數,比如一個Warehouse要對應10個District等,另外,“+”號表示這種對應關系可能會更多。

          該系統需要處理的交易事務主要為以下幾種。

          · 新訂單:客戶輸入一筆新的訂貨交易;

          · 支付操作:更新客戶賬戶余額以反映其支付狀況;

          · 發貨:發貨(模擬批處理交易);

          · 訂單狀態查詢:查詢客戶最近交易的狀態;

          · 庫存狀態查詢:查詢倉庫庫存狀況,以便能夠及時補貨。

          有關事物的具體描述如下。

          · 新訂單:其主要事務內容為對于任意一個客戶端,從固定的倉庫中隨機選取5~15件商品,創建新訂單。其中1%的訂單,要由于假想的用戶操作失敗而回滾;該事務的主要特點為讀寫、頻繁、要求響應快,是系統中最典型的操作,也是系統處理中的主要工作量,最終也是以數據庫系統每分鐘能夠處理的新訂單數來對數據庫系統的性能進行評價。

          · 支付操作:其主要事務內容為對于任意一個客戶端,從固定倉庫隨機選取一個轄區及其內的用戶,采用隨機的金額支付一筆訂單,并同時將該訂單記錄為相應歷史訂單。該事物的主要特點為10個批量、讀寫、較少、較寬松的響應時間。

          · 訂單狀態查詢:其主要事務內容為對于任意一個客戶端,從固定倉庫隨機選取一個轄區及其內用戶,讀取該用戶的最后一條訂單,顯示訂單內每件商品的狀態。該事物的主要特點為只讀、較少、要求響應快。

          · 發貨:其主要事務內容為對于任意一個客戶端,隨機選取一個發貨包,更新被處理訂單的用戶賬戶余額,并把修改后的訂單從新訂單中刪除。該事物的主要特點為讀寫、頻繁、響應快。

          · 庫存狀態查詢:其主要事務內容為對于任意一個客戶端,從固定的倉庫和轄區選取最后的20條訂單,檢查訂單中所有貨物的庫存。計算并顯示所有庫存低于隨機生成閾值的商品數量。該事物的主要特點為只讀、較少、較為寬松的響應時間。

          對于以上這5種類型的事務交易,前4種類型的交易要求響應時間在5秒鐘以內;對于庫存狀況查詢交易,要求響應時間在20秒以內。同時,這5種交易最終的比例還必須滿足一定的要求,即支付操作的比例不得少于43%,訂單狀態查詢、發貨和庫存狀態查詢的比例分別均不得少于4%。具體而言,5種事務要滿足的時間、比例及隔離級別要求如表所示。

          表 1    5種類型的事務交易-資料來源于中國評測

          TPC-C測試的結果主要有兩個指標,即流量指標(Throughput,簡稱tpmC)和性價比(Price/Performance,簡稱Price/tpmC)。

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

          · 性價比(Price/Performance,簡稱Price/tpmC):即測試系統的整體價格與流量指標的比值,在獲得相同的tpmC值的情況下,價格越低越好。

          3、 數據性能對比測試

          測試方法:通過上述的設計模型建立相關的表,對表中的數據按設計模型的規模進行填充。將主要的并發業務模型分別部署到不同的并發客戶端上,通過主控臺的統一控制控制測試的啟動、執行和結束,最后統計各個客戶端傳來的性能數據,通過統計分析展現給測試人員,幫助分析數據庫的性能。

          測試場景:分別在Oracle和國產數據庫測試1000個倉庫持續2個小時,同時收集服務器端的系統資源占用、5個事務的響應時間,業務比例關系以及最終的流量指標(Throughput,簡稱tpmC)指標。

          在測試過程中,我們采用兩臺配置完全相同的服務器分別安裝Oracle數據庫11g的版本和國產數據庫管理系統。網絡采用1000Gbps快速以太網交換機進行互聯,測試端采用一體化分布式管理的方法,即一個主控管理臺和多個分布式并發客戶端,測試代碼放在主控臺上,通過分發到客戶端實現大的并發訪問。測試拓撲圖如下:

          圖 3 測試拓撲圖-資料來源于中國評測

          結果分析對比:

          1)Tpmc的數據對比:

          上圖的分析,Oracle在1000個倉庫下產生的Tpmc值為11,840.90 tpmC

          國產數據庫管理系統在1000個倉庫下產生的Tpmc值為12,840.01 tpmC

          2)時間特性分析

          3)服務器的資源特性分析

          a)CPU的利用率對比

           通過上圖的對比,Oracle數據庫服務器多核CPU的利用均等的方式別調用,而國產數據庫管理系統服務器的CPU利用則重點在3個核CPU上,對多核處理的均等調用方式有待進一步提升。

          b)內存的利用率對比

          通過上圖的對比分析,Oracle數據庫在測試過程內存的使用迅速只剩下5000MB一下的可用空間,而國產數據庫管理系統服務器的內存占用是漸進的方式的消耗。

          c)網絡的利用率對比

          通過上圖的對比分析,Oracle數據庫服務器在測試過程中,服務器的發出流量達到6000KBytes/Sec,接收的流量達4000Kbytes/Sec;國產數據庫服務器在測試過程中,服務器的發出流量達到2000KBytes/Sec,接收的流量達1500Kbytes/Sec。

          d)磁盤的利用率對比

          通過上圖的對比分析,Oracle數據庫服務器在測試過程中,數據庫服務器的磁盤繁忙度達100%;而國產數據庫管理系統的磁盤繁忙程度在逐漸下降。

          4、 結論

          本文介紹了一種測試數據庫性能測試的方法TPC-C,通過倉庫的商業模擬模擬數據庫的在線處理方式。通過這種測試方法可以對國產數據庫管理系統和國外的數據庫在在線處理的性能上進行對比分析,幫助國產數據庫管理系統的制造商改進其產品性能提供了客觀的評價依據。

        交換機相關文章:交換機工作原理




        關鍵詞: TPC-C 數據庫

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天柱县| 金坛市| 珲春市| 女性| 临猗县| 鄂尔多斯市| 阿尔山市| 西青区| 金平| 礼泉县| 庄河市| 修水县| 长沙县| 太仆寺旗| 东丰县| 淮南市| 全椒县| 胶州市| 闵行区| 万全县| 大港区| 密云县| 同德县| 海南省| 嘉定区| 镶黄旗| 固安县| 大姚县| 北宁市| 思南县| 同江市| 阜康市| 东源县| 迭部县| 巢湖市| 镇巴县| 沙河市| 凌源市| 克东县| 新昌县| 莆田市|