TPCC基本概念
TPCC標(biāo)準(zhǔn)由來
TPC(Transaction Processing Performance Council,事務(wù)處理性能委員會(huì))是由數(shù)十家會(huì)員公司創(chuàng)建的非盈利組織,總部設(shè)在美國(guó)。TPC的成員主要是計(jì)算機(jī)軟硬件廠家,而非計(jì)算機(jī)用戶,其功能是制定商務(wù)應(yīng)用基準(zhǔn)程序的標(biāo)準(zhǔn)規(guī)范、性能和價(jià)格度量,并管理測(cè)試結(jié)果的發(fā)布。
TPC不給出基準(zhǔn)程序的代碼,而只給出基準(zhǔn)程序的標(biāo)準(zhǔn)規(guī)范。任何廠家或其他測(cè)試者都可以根據(jù)規(guī)范,地構(gòu)造出自己的測(cè)試系統(tǒng)(測(cè)試平臺(tái)和測(cè)試程序)。為保證測(cè)試結(jié)果的完整性,被測(cè)試者(通常是廠家)必須提交給TPC一套完整的報(bào)告(Full Disclosure Report),包括被測(cè)系統(tǒng)的詳細(xì)配置、分類價(jià)格和包含5年維護(hù)費(fèi)用在內(nèi)的總價(jià)格。該報(bào)告必須由TPC的審核員核實(shí)(TPC本身并不做審計(jì))。 TPC在只有不到10名審核員,全部在美國(guó)。
TPC-C使用三種性能和價(jià)格度量,其中性能由tpmC(transactions per minute,tpm)衡量,Cpm)衡量,C指TPC中的C基準(zhǔn)程序。它的定義是每分鐘內(nèi)系統(tǒng)處理的新訂單個(gè)數(shù)。TPC-C還經(jīng)常以系統(tǒng)性能價(jià)格比的方式體現(xiàn),單位是$/tpmC,即以系統(tǒng)的總價(jià)格(單位是美元)/tpmC數(shù)值得出。
TPCC規(guī)范概要
這類系統(tǒng)具有比較鮮明的特點(diǎn),這些特點(diǎn)主要表現(xiàn)如下:
1、多種事務(wù)處理并發(fā)執(zhí)行,充分體現(xiàn)了事務(wù)處理的復(fù)雜性;
2、在線與離線的事務(wù)執(zhí)行模式;
3、多個(gè)在線會(huì)話終端;
4、適中的系統(tǒng)運(yùn)行時(shí)間和應(yīng)用程序運(yùn)行時(shí)間;
5、大量的磁盤I/O數(shù)據(jù)流;
6、強(qiáng)調(diào)事務(wù)的完整性要求(ACID);
7、對(duì)于非一致的數(shù)據(jù)庫分布,使用主鍵和從鍵進(jìn)行訪問;
8、數(shù)據(jù)庫由許多大小不一、屬性多樣,而又相互關(guān)聯(lián)的數(shù)據(jù)表組成;
9、存在較多數(shù)據(jù)訪問和更新之間的資源爭(zhēng)奪。
TPCC測(cè)試模型
TPC-C測(cè)試用到的模型是一個(gè)大型的商品批發(fā)銷售公司,它擁有若干個(gè)分布在不同區(qū)域的商品倉庫。當(dāng)業(yè)務(wù)擴(kuò)展的時(shí)候,公司將添加新的倉庫。每個(gè)倉庫負(fù)責(zé)為10個(gè)銷售點(diǎn)供貨,其中每個(gè)銷售點(diǎn)為3000個(gè)客戶提供服務(wù),每個(gè)客戶提交的訂單中,平均每個(gè)訂單有10項(xiàng)產(chǎn)品,所有訂單中約1%的產(chǎn)品在其直接所屬的倉庫中沒有存貨,必須由其他區(qū)域的倉庫來供貨。同時(shí),每個(gè)倉庫都要維護(hù)公司銷售的100000種商品的庫存記錄。
TPC-C測(cè)評(píng)系統(tǒng)數(shù)據(jù)庫由9張表組成,它們之間的關(guān)系如下圖1:
其中,表框里的數(shù)字表示該表將要存放多少條記錄,倉庫數(shù)W的調(diào)整在測(cè)試中能夠體現(xiàn)數(shù)據(jù)庫所能夠支持的數(shù)據(jù)規(guī)模的能力;表間的數(shù)據(jù)表示數(shù)據(jù)的父子關(guān)系之間兒子的個(gè)數(shù),比如一個(gè)Warehouse要對(duì)應(yīng)10個(gè)District等,另外,“+”號(hào)表示這種對(duì)應(yīng)關(guān)系可能會(huì)更多。
TPCC事務(wù)說明
該系統(tǒng)需要處理的交易事務(wù)主要為以下幾種:
1、新訂單(New-Order) :客戶輸入一筆新的訂貨交易;
2、支付操作(Payment) :更新客戶帳戶余額以反映其支付狀況;
3、發(fā)貨(Delivery) :發(fā)貨(模擬批處理交易);
4、訂單狀態(tài)查詢(Order-Status) :查詢客戶最近交易的狀態(tài);
5、庫存狀態(tài)查詢(Stock-Level) :查詢倉庫庫存狀況,以便能夠及時(shí)補(bǔ)貨。
TPCC測(cè)試指標(biāo)
TPC-C測(cè)試的結(jié)果主要有兩個(gè)指標(biāo),即流量指標(biāo)(Throughput,簡(jiǎn)稱tpmC)和性價(jià)比(Price/Performance,簡(jiǎn)稱Price/tpmC)。
流量指標(biāo)(Throughput,簡(jiǎn)稱tpmC):按照TPC組織的定義,流量指標(biāo)描述了系統(tǒng)在執(zhí)行支付操作、訂單狀態(tài)查詢、發(fā)貨和庫存狀態(tài)查詢這4種交易的同時(shí),每分鐘可以處理多少個(gè)新訂單交易。所有交易的響應(yīng)時(shí)間必須滿足TPC-C測(cè)試規(guī)范的要求,且各種交易數(shù)量所占的比例也應(yīng)該滿足TPC-C測(cè)試規(guī)范的要求。在這種情況下,流量指標(biāo)值越大說明系統(tǒng)的聯(lián)機(jī)事務(wù)處理能力越高。
性價(jià)比(Price/Performance,簡(jiǎn)稱Price/tpmc):即測(cè)試系統(tǒng)的整體價(jià)格與流量指標(biāo)的比值,在獲得相同的tpmC值的情況下,價(jià)格越低越好。