TPC基準程式 及tpmc值

  今天的用戶在選用平台時面對的是一個繽紛繁雜的世界。用戶希望有一 種度量標準,能夠量化計算機系統的性能,以此作為選型的依據。作者曾在美國從 事過數年計算機性能評價工作,深深體會到,計算機的性能很難用一兩種度量來 評價,而且,任何度量都有其優缺點,尤其是當使用者對性能度量了解不深時,很 容易被引入一些誤區,甚至推演出錯誤的結論。本文以tpc基準程式為例,給出一 些實際建議,以幫助用戶避免進入這些誤區。

一、什麼是tpc和tpmc?

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

1、tpc

tpc(transactionprocessing performancecouncil,事務處理性能委員會)是由數10家會員公司創建的非盈 利組織,總部設在美國。該組織對全世界開放,但迄今為止,絕大多數會員都是美、 日、西歐的大公司。tpc的成員主要是計算機軟硬體廠家,而非計算機用戶,它的功 能是制定商務套用基準程式(benchmark)的標準規範、性能和價格度量,並管理測 試結果的發布。
tpc的出版物是開放 的,可以通過網路獲取。tpc不給出基準程式的代碼,而只 給出基準程式的標準規範(standardspecification)。任何廠家或其它測試者都 可以根據規範,最優地構造出自己的系統(測試平台和測試程式)。為保證測試結 果的客觀性,被測試者(通常是廠家)必須提交給tpc一套完整的報告(fulldisclosure report),包括被測系統的詳細配置、分類價格和包含五年維護費用在內的總價 格。該報告必須由tpc授權的審核員核實(tpc本身並不做審計)。現在全球只有幾 個審核員,全部在美國。

2、tpmc

tpc已經推出了四套 基準程式,被稱為tpc-a、tpc-b、tpc-c和tpc-d。其中a和b已經過時,不再使 用了。tpc-c是線上事務處理(oltp)的基準程式,tpc-d是決策支持(decisionsupport) 的基準程式。tpc即將推出tpc-e,作為大型企業(enterprise)信息服務的基準程 序。
tpc-c模擬一個批發 商的貨物管理環境。該批發公司有n個倉庫,每個倉庫供應10個地區,其中每個地 區為3000名顧客服務。在每個倉庫中有10個終端,每一個終端用於一個地區。在運 行時,10×n個終端操作員向公司的資料庫發出5類請求。由於一個倉庫中不可能 存儲公司所有的貨物,有一些請求必須發往其它倉庫,因此,資料庫在邏輯上是 分布的。n是一個可變參數,測試者可以隨意改變n,以獲得最佳測試效果。
tpc-c使用三種性能 和價格度量,其中性能由tpc-c吞吐率衡量,單位是tpmc。tpm是transactionsper minute的簡稱;c指tpc中的c基準程式。它的定義是每分鐘內系統處理的新訂單 個數。要注意的是,在處理新訂單的同時,系統還要按表1的要求處理其它4類事務 請求。從表1可以看出,新訂單請求不可能超出全部事務請求的45%,因此,當一個 系統的性能為1000tpmc時,它每分鐘實際處理的請求數是2000多個。價格是指系 統的總價格,單位是美元,而價格性能比則定義為總價格÷性能,單位是$/tpmc。

二、如何衡量計算機系統的性能和價格

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

1、在真實環境中運行實際套用

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

2、使用用戶定義的基準程式

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

3、使用通用基準程式

如果第1種和第2種方 式都不行,則使用如tpc-c之類的通用基準程式,這是不得已的一種近似方法。因 此,tpmc值只能用作參考。我們應當注意以下幾點:

(1)實際套用是否與基準程式相符

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

(2)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值還是以用戶的實際套用性能來衡量。

(3)tpc測試的成本

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

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

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

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

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