TPC,TPCC,TPMC(計算機性能衡量指標) -----

第一章 什麼是TPC和tpmC?
1 TPC

TPC(Transaction Processing Performance Council,事務處理性能委員會)是由數10家會員公司創建的非盈利組織,總部設在美國。該組織對全世界開放,但迄今爲止,絕大多數會員都是美、日、西歐的大公司。TPC的成員主要是計算機軟硬件廠家,而非計算機用戶,它的功 能是制定商務應用基準程序(Benchmark)的標準規範、性能和價格度量,並管理測 試結果的發佈。

TPC的出版物是開放的,可以通過網絡獲取(http://www.tpc.org)。TPC不給出基準程序的代碼,而只給出基準程序的標準規範(Standard Specification)。任何廠家或其它測試者都可以根據規範,最優地構造出自己的系統(測試平臺和測試程序)。爲保證測試結果的客觀性,被測試者(通常是廠家)必須提交給TPC一套完整的報告(Full Disclosure Report),包括被測系統的詳細配置、分類價格和包含五年維護費用在內的總價 格。該報告必須由TPC授權的審覈員覈實(TPC本身並不做審計)。現在全球只有幾個審覈員,全部在美國。

TPC已經推出了四套基準程序,被稱爲TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已經過時,不再使用了。TPC-C是在線事務處理(OLTP)的基準程序,TPC-D是決策支持(Decision Support) 的基準程序。TPC即將推TPC-E,作爲大型企業(Enterprise)信息服務的基準程序。

 
2 tpmC

tpmC值在國內外被廣 泛用於衡量計算機系統的事務處理能力。但究竟什麼是tpmC值呢?作者曾向一些 用戶、推銷人員乃至某些國外大公司的技術人員問過這個問題,但回答的精確度 與tpmC值的流行程度遠非相稱。tpmC這一度量也常被誤寫爲TPM或TPMC。

TPC-C模擬一個批發商的貨物管理環境。該批發公司有N個倉庫,每個倉庫供應10個地區,其中每個地區爲3000名顧客服務。在每個倉庫中有10個終端,每一個終端用於一個地區。在運行時,10×N個終端操作員向公司的數據庫發出5類請求。由於一個倉庫中不可能存儲公司所有的貨物,有一些請求必鬚髮往其它倉庫,因此,數據庫在邏輯上是 分佈的。N是一個可變參數,測試者可以隨意改變N,以獲得最佳測試效果。

TPC-C使用三種性能和價格度量,其中性能由TPC-C吞吐率衡量,單位是tpmC。tpm是transactions per minute的簡稱;C指TPC中的C基準程序。它的定義是每分鐘內系統處理的新訂單個數。要注意的是,在處理新訂單的同時,系統還要按表1的要求處理其它4類事務 請求。從表1可以看出,新訂單請求不可能超出全部事務請求的45%,因此,當一個 系統的性能爲1000tpmC時,它每分鐘實際處理的請求數是2000多個。價格是指系 統的總價格,單位是美元,而價格性能比則定義爲總價格÷性能,單位是$/tpmC。

tpmC定義: TPC-C的吞吐量,按有效TPC-C配置期間每分鐘處理的平均交易次數測量,至少要運行12分鐘。

(吞吐量測試結果以比特/秒或字節/秒錶示。)
第二章 TPCC
1             基準測試

TPCC值被廣泛用於衡量C/S環境下,由服務器和客戶端構築的整體系統的性能,它由事物處理性能委員會(TPC,Transaction Processing Corp)制定,TPC爲非贏利性國際組織。

 

TPCC值可以反映出系統的性能價格比。TPCC測試系統每分鐘處理的任務數,單位爲tpm,(transactions per minute)。系統的總體價格(單位爲美元)除以TPCC值,就可以衡量出系統的性價比,系統的性價比值越大,系統的性價比越好。

 

需要注意的是,TPC-C值描述的是C/S整體系統的性能,它與系統的服務器和客戶機的性能都有關係,也就是說,同樣的服務器配置不同的客戶端將會影響TPCC值,任何廠商和測試者都可以根據TPC提供的測試規範構造出自己最優的系統,當然測試的結果要經過TPC審覈。

 

 

 

 

---------------------------------------------------------------------------------------------------------------
2             性能測試指標介紹

TPC-C

作爲一家非盈利性機構,事務處理性能委員會(TPC)負責定義諸如TPC-C、TPC-H和TPC-W基準測試之類的事務處理與數據庫性能基準測試,並依據這些基準測試項目發佈客觀性能數據。TPC基準測試採用極爲嚴格的運行環境,並且必須在獨立審計機構監督下進行。委員會成員包括大多數主要數據庫產品廠商以及服務器硬件系統供應商。

 

相關企業參與TPC基準測試以期在規定運行環境中獲得客觀性能驗證,並通過應用測試過程中所使用的技術開發出更加強健且更具伸縮性的軟件產品及硬件設備。

 

TPC-C是一種旨在衡量聯機事務處理(OLTP)系統性能與可伸縮性的行業標準基準測試項目。這種基準測試項目將對包括查詢、更新及隊列式小批量事務在內的廣泛數據庫功能進行測試。許多IT專業人員將TPC-C視爲衡量“真實”OLTP系統性能的有效指示器。

 

TPC-C基準測試針對一種模擬訂單錄入與銷售環境測量每分鐘商業事務(tpmC)吞吐量。特別值得一提的是,它將專門測量系統在同時執行其它四種事務類型(如支付、訂單狀態更新、交付及證券級變更)時每分鐘所生成的新增訂單事務數量。獨立審計機構將負責對基準測試結果進行公證,同時,TPC將出據一份全面徹底的測試報告。這份測試報告可以從TPC Web站點(http://www.tpc.org)上獲得。
3 TPC-C規範概要

TPC-C是專門針對聯機交易處理系統(OLTP系統)的,一般情況下我們也把這類系統稱爲業務處理系統。

TPC-C測試規範中模擬了一個比較複雜並具有代表意義的OLTP應用環境:假設有一個大型商品批發商,它擁有若干個分佈在不同區域的商品庫;每個倉庫負責爲10個銷售點供貨;每個銷售點爲3000個客戶提供服務;每個客戶平均一個訂單有10項產品;所有訂單中約1%的產品在其直接所屬的倉庫中沒有存貨,需要由其他區域的倉庫來供貨。

該系統需要處理的交易爲以下幾種:

New-Order:客戶輸入一筆新的訂貨交易;

Payment:更新客戶賬戶餘額以反映其支付狀況;

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

Order-Status:查詢客戶最近交易的狀態;

Stock-Level:查詢倉庫庫存狀況,以便能夠及時補貨。

對於前四種類型的交易,要求響應時間在5秒以內;對於庫存狀況查詢交易,要求響應時間在20秒以內。
4評測指標

TPC-C測試規範經過兩年的研製,於1992年7月發佈。幾乎所有在OLTP市場提供軟硬件平臺的廠商都發布了相應的TPC-C測試結果,隨着計算機技術的不斷髮展,這些測試結果也在不斷刷新。

TPC-C的測試結果主要有兩個指標:
①流量指標(Throughput,簡稱tpmC)

按照TPC的定義,流量指標描述了系統在執行Payment、Order-status、Delivery、Stock-Level這四種交易的同時,每分鐘可以處理多少個New-Order交易。所有交易的響應時間必須滿足TPC-C測試規範的要求。

流量指標值越大越好!
②性價比(Price/Performance,簡稱Price/tpmC)

即測試系統價格(指在美國的報價)與流量指標的比值。

性價比越大越好!
第三章(TPCC)如何衡量計算機系統的性能和價格

在系統選型時,我們一定不要忘記我們是爲特定用戶環境中的特定應用選擇系統。切忌爲了“與國際接軌”而盲目套用“國際通用”的東西。在性能評價領域,越是通用的度量常常越是不準確的。據我所知,美國的一些大用戶從不相信任何“國際通用”的度量,而是花相當精力,比如預算的5%,使用自己的應用來測試系統,決定選型。在使用任何一種性能和價格度量時,一定要弄明白該度量的定義,以及它是在什麼系統配置和運行環境下得到的,如何解釋它的意義等。下面我們由好到差討論三種方式。
1在真實環境中運行 實際應用

最理想的方式是搞一個試點,要求製造商或系統集成商配合將系統(含平臺、軟件和操作流程)在一個 實際用戶點真正試運行一段時間。這樣,用戶不僅能看到實際性能,也能觀察到系統是否穩定可靠、使用是否方便、服務是否周到、配置是否足夠、全部價格是否合理。如果一個部門需要購買一批同類的系統,這種方式應列爲首選,因爲它不僅最精確、穩妥,也常常最有效率,用戶還可先租一套系統作爲試點。用這種方式得到的度量值常常具有很明確和實際的含義。
2使用用戶定義的基準程序

如果由於某種原因第一種方式不可行,用戶可以定義一組含有自己實際應用環境特徵的應用基準程序。 我舉兩個例子:近年來,由於R/3軟件是應用層軟件,SAP公司的基準程序獲得了越來越多國外企業的認可;中國稅務總局最近也開發了自己的基準程序,以幫助稅務系統進行計算機選型。這種方式在中國尤其重要,因爲中國的信息系統有其特殊性。
3使用通用基準程序

如果第1種和第2種方式都不行,則使用如TPC-C之類的通用基準程序,這是不得已的一種近似方法。因 此,tpmC值只能用作參考。我們應當注意以下幾點:
①實際應用是否與基準程序相符

絕大多數基準程序都是在美國製訂的,而中國的企事業單位與美國的運作方式常常不一樣(恐怕也不應該或不可能一樣)。在使用TPC-C時,我們應該清楚地知道:我的應用是否符合批發商模式?事務請求是否與表1近似?對響應時間的要求是否滿足表1?如果都不是,則tpmC值的參考價值就不太大了。
②TPC度量的解釋

TPC基準程序是用來測系統而不是測主機的,廠家肯定要充分優化他們的被測系統。此處的“系統”包括主機、外設(如硬盤或RAID)、主機端操作系統、數據庫軟件、客戶端計算機及其 操作系統、數據庫軟件和網絡連接等。在很多廠家的TPC測試系統中,主機的價格只是系統總價格的1/4或更小,而硬盤的價格有可能佔到總價格的1/3以上,因爲TPC-C要求被測系統必須保存180天的事務記錄。如果同樣的主機被用到用戶的環境中,廠家報的tpmC值就意義不大,因爲用戶的實際系統與廠家原來用於TPC測試的系統大不一樣。當同樣的主機用在不同的系統中時,tpmC值可能有相當大的變化,現在很多用戶還沒有意識到這一點。

我舉一個例子。假設用 戶希望購買一批同類系統,每一系統至少需要1GB的內存和50GB的硬盤。廠家A、B、C 各報了三個價格相當的系統,tpmC值分別爲3000、2800、2600。用戶是否應該選廠家A的產品呢?答案是:不一定。廠家用於測試tpmC值的系統與實際提供給用戶的系統配置大不一樣。tpmC最低的廠家C提供給用戶的系統反而有可能性能最好,不 論是以實際系統的tpmC值還是以用戶的實際應用性能來衡量。
③TPC測試的成本

TPC-C和TPC-D都是很複雜的基準程序,做一個嚴格的測試是很消耗資源的,廠家當然不會說出他們花費了多少錢和時間。但據國外知情人士透露,一個廠家做第一個TPC-C測試需 要幾十萬到上百萬美元的資金和半年左右的時間投入。因此,很多TPC的度量值都 是估計的。由於計算機系統換代頻繁,如果用戶一定要用通過審覈的度量值,就必 須多等待半年時間,因此而不能用最先進的系統。中國的廠家通過審覈的時間則更長。

綜上所述,我們對中國 用戶(尤其是大用戶)在計算機系統的選型方面有如下建議:

最好建立一個真實的試點,因爲實際應用環境是檢驗計算機系統的最好標準。

中國的行業應該建立符合自己實際應用的基準程序和測試標準。中國稅務總局的做法值得提倡。國家有關部門應該建立獨立的測試中心,制定跨行業、符合中國企事業運作模式的性能測試標準。

“國際通用”的度量可以作爲參考值,而不應作爲必要條件。尤其是一定要弄清這些流行度量有什麼含義,是在什麼樣的系統環境中測得的,以及基準程序是否符合企業真實的業務流程和運作模式。

作爲一家非盈利性機構,事務處理性能委員會(TPC)負責定義諸如TPC-C、TPC-H和TPC-W基準測試之類的事務處理與數據庫性能基準測試,並依據這些基準測試項目發佈客觀性能數據。TPC基準測試採用極爲嚴格的運行環境,並且必須在獨立審計機構監督下進行。委員會成員包括大多數主要數據庫產品廠商以及服務器硬件系統供應商。

相關企業參與TPC基準測試以期在規定運行環境中獲得客觀性能驗證,並通過應用測試過程中所使用的技術開發出更加強健且更具伸縮性的軟件產品及硬件設備。

TPC-C是一種旨在衡量聯機事務處理(OLTP)系統性能與可伸縮性的行業標準基準測試項目。這種基準測試項目將對包括查詢、更新及隊列式小批量事務在內的廣泛數據庫功能進行測試。許多IT專業人員將TPC-C視爲衡量“真實”OLTP系統性能的有效指示器。

TPC-C基準測試針對一種模擬訂單錄入與銷售環境測量每分鐘商業事務(tpmC)吞吐量。特別值得一提的是,它將專門測量系統在同時執行其它四種事務類型(如支付、訂單狀態更新、交付及證券級變更)時每分鐘所生成的新增訂單事務數量。獨立審計機構將負責對基準測試結果進行公證,同時,TPC將出據一份全面徹底的測試報告。這份測試報告可以從TPC Web站點(http://www.tpc.org)上獲得。

 

 
第四章 TPCC計算原則
1建議

不管是TPC-C還是SPECjbb2000,計算結果都只能作爲一個橫向比較的參考。在實際應用中,決定系統性能的因素除了硬件、系統軟件外,與應用軟件的設計也是有很大關係的,此外,基於系統可擴展性的考慮,更多時候也傾向於一次性的採購。
從長遠考慮,以政府信息化主管部門的角度考慮,建立一套評估機制是非常有用的,這其中包括:
1、 通過對各單位業務系統運行情況的調查,進行歷史數據的收集分析,按分類建立基準指標庫。收集的信息包括:服務器的配置、併發用戶數(每天業務量)、CPU負荷等;
2、 由廠商定期提供基準值,更新基準指標庫;
有了基準指標庫的信息參照,不僅可以用於評估項目建設方案中服務器選型,也可以對各部門進行系統架構設計的優化提供指導。如以下是一些指導原則:
1、 數據庫服務器選型:採購兩臺相同配置的小型機,進行虛擬分區和並行處理,以提高系統資源的利用率;日後擴容時採取垂直擴展的方式進行升級;
2、 應用服務器:採用負載均衡的方式提高併發處理能力,一般可配置2臺以上,每臺的硬件配置完全可以不同,應首先考慮使用舊的數據庫服務器(利舊),如需採購新的服務器,應採用水平擴展的方式逐步升級;
3、 WEB服務器,可以考慮採用刀片服務器,提高擴展性和可管理性。
2參考:某項目計算實例
參考1

爲了方便計算數據庫服務器的造型,我們約定:
" 系統同時在線用戶數爲1500人(U1);
" 平均每個用戶每分鐘發出2次業務請求(N1);
" 系統發出的業務請求中,更新、查詢、統計各佔1/3;
" 平均每次更新業務產生3個事務(T1);
" 平均每次查詢業務產生8個事務(T2);
" 平均每次統計業務產生13個事務(T3);
" 一天內忙時的處理量爲平均值的5倍;
" 經驗係數爲1.6;(實際工程經驗)
" 考慮服務器保留30%的冗餘;
服務器需要的處理能力爲:
TPC-C=U1*N1*(T1+T2+T3)/3*3*經驗係數/冗餘係數
則應用服務器的處理性能估算爲:
TPC-C= 1500*2*(3+8+13)/3*5*1.6/0.7= 274,285 tpmC

數據庫服務器關係到整個系統的穩定運行,考慮到高可靠性和高可用性,並注重設備的可擴展性和性價比,系統將配置兩臺TPC-C值不小於28萬的高性能數據庫服務器。
參考2

 

以單臺服務器性能進行計算,即確保單臺服務器工作的時候可以滿足系統正常運行的需要;

假設每天有1萬人次來窗口辦理業務,每人次辦理一項業務。即以每日1萬筆前臺交易爲例進行綜合係數的推導:

1. 假設每月前臺交易數(未來5年內的設計指標)爲220,000 (有些業務在月初、月末的處理量比較高,按月統計可以平衡此項差異);
2. 每日前臺交易數=220000/22=10,000 ,即每日 1萬筆;
3. 忙時處理能力:每日交易的80%在4個小時內完成,即10000*80%/4=2000(筆/小時)
4. 峯值處理能力:2000*2=4000(筆/小時),即峯值處理能力爲每小時4000筆,或 67筆/分,假設業務人員同時在線爲100人,即每人每分鐘處理0.7筆)
5. 假設每筆交易對應數據庫事務數=20,基準TPC指標值對應的比例=8,cpu保留30%的處理能力冗餘,計算值與公佈值(最優值)的偏差經驗值爲4 (這幾個參數估算的依據不足,更多的是經驗值)

則 tpmC值爲:
tpmC= 67*20*8*4/(1-30%)= 61257[顛峯處理能力時(筆/分)*每筆交易對應數據庫事務數*基準TPC指標值對應的比例*計算值與公佈值(最優值)的偏差經驗值/(1- cpu保留30%的處理能力冗餘)
倒算出 綜合係數 = 61257/10000=6.1
即數據庫服務器tpmC= 每日前臺交易數 * 6.1 (實際計算值應不高於該值)
應用服務器的 tpmC = 數據庫服務器 tpmC *50% (一般)

應用服務器的 tpmC = 數據庫服務器 tpmC *70% (涉及大量計算的,如社保、稅務)




自己個例



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章