TPCC

TPCC

TPC-C是專門針對聯機交易處理系統(OLTP系統)的規範,一般情況下我們也把這類系統稱為業務處理系統。1992年7月發布。幾乎所有在OLTP市場提供軟硬平台的國外主流廠商都發布了相應的TPC-C測試結果,隨著計算機技術的不斷發展,這些測試結果也在不斷刷新。

基本概念


標準由來

TPC(Transaction Processing Performance Council,事務處理性能委員會)是由數十家會員公司創建的非盈利組織,總部設在美國。TPC的成員主要是計算機軟硬體廠家,而非計算機用戶,其功能是制定商務應用基準程序的標準規範、性能和價格度量,並管理測試結果的發布。
TPC不給出基準程序的代碼,而只給出基準程序的標準規範。任何廠家或其他測試者都可以根據規範,最優地構造出自己的測試系統(測試平台和測試程序)。為保證測試結果的完整性,被測試者(通常是廠家)必須提交給TPC一套完整的報告(Full Disclosure Report),包括被測系統的詳細配置、分類價格和包含5年維護費用在內的總價格。該報告必須由TPC授權的審核員核實(TPC本身並不做審計)。 TPC在全球只有不到10名審核員,全部在美國。
TPC-C使用三種性能和價格度量,其中性能由tpmC(transactions per minute,tpm)衡量,Cpm)衡量,C指TPC中的C基準程序。它的定義是每分鐘內系統處理的新訂單個數。TPC-C還經常以系統性能價格比的方式體現,單位是$/tpmC,即以系統的總價格(單位是美元)/tpmC數值得出。

規範概要

這類系統具有比較鮮明的特點,這些特點主要表現如下:
1、多種事務處理併發執行,充分體現了事務處理的複雜性;
2、在線與離線的事務執行模式;
3、多個在線會話終端;
4、適中的系統運行時間和應用程序運行時間;
5、大量的磁碟I/O數據流;
6、強調事務的完整性要求(ACID);
7、對於非一致的資料庫分佈,使用主鍵和從鍵進行訪問;
8、資料庫由許多大小不一、屬性多樣,而又相互關聯的數據表組成;
9、存在較多數據訪問和更新之間的資源爭奪。

測試模型


TPC-C測試用到的模型是一個大型的商品批發銷售公司,它擁有若干個分佈在不同區域的商品倉庫。當業務擴展的時候,公司將添加新的倉庫。每個倉庫負責為10個銷售點供貨,其中每個銷售點為3000個客戶提供服務,每個客戶提交的訂單中,平均每個訂單有10項產品,所有訂單中約1%的產品在其直接所屬的倉庫中沒有存貨,必須由其他區域的倉庫來供貨。同時,每個倉庫都要維護公司銷售的100000種商品的庫存記錄。
TPC-C測評系統資料庫由9張表組成,它們之間的關係如下圖:
TPCC
TPCC
其中,表框里的數字錶示該表將要存放多少條記錄,倉庫數W的調整在測試中能夠體現資料庫所能夠支持的數據規模的能力;表間的數據表示數據的父子關係之間兒子的個數,比如一個Warehouse要對應10個District等,另外,“+”號表示這種對應關係可能會更多。

事務說明


該系統需要處理的交易事務主要為以下幾種:
1、新訂單(New-Order) :客戶輸入一筆新的訂貨交易;
2、支付操作(Payment) :更新客戶帳戶餘額以反映其支付狀況;
3、發貨(Delivery) :發貨(模擬批處理交易);
4、訂單狀態查詢(Order-Status) :查詢客戶最近交易的狀態;
5、庫存狀態查詢(Stock-Level) :查詢倉庫庫存狀況,以便能夠及時補貨。

測試指標


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