歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

TPC基准程序及tpmc值 ─ 兼談在使用性能度量時如何避免誤區

  今天的用戶在選用平台時面對的是一個缤紛繁雜的世界。用戶希望有一種度量標准,能夠量化計算機系統的性能,以此作為選型的依據。作者曾在美國從 事過數年計算機性能評價工作,深深體會到,計算機的性能很難用一兩種度量來 評價,而且,任何度量都有其優缺點,尤其是當使用者對性能度量了解不深時,很 容易被引入一些誤區,甚至推演出錯誤的結論。本文以TPC基准程序為例,給出一 些實際建議,以幫助用戶避免進入這些誤區。 一、什麼是TPC和tpmC?   tpmC值在國內外被廣 泛用於衡量計算機系統的事務處理能力。但究竟什麼是tpmC值呢?作者曾向一些 用戶、推銷人員乃至某些國外大公司的技術人員問過這個問題,但回答的精確度 與tpmC值的流行程度遠非相稱。tpmC這一度量也常被誤寫為TPM或TPMC。 1、TPC   TPC(TransactionProcessing PerformanceCouncil,事務處理性能委員會)是由數10家會員公司創建的非盈 利組織,總部設在美國。該組織對全世界開放,但迄今為止,絕大多數會員都是美、 日、西歐的大公司。TPC的成員主要是計算機軟硬件廠家,而非計算機用戶,它的功 能是制定商務應用基准程序(Benchmark)的標准規范、性能和價格度量,並管理測 試結果的發布。   TPC的出版物是開放 的,可以通過網絡獲取(http://www.tpc.org)。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的度量值都 是估計的。由於計算機系統換代頻繁,如果用戶一定要用通過審核的度量值,就必 須多等待半年時間,因此而不能用最先進的系統。中國的廠家通過審核的時間則 更長。   綜上所述,我們對中國 用戶(尤其是大用戶)在計算機系統的選型方面有如下建議: 最好建立一個真實的試點,因為實際應用環境是檢驗計算機系統的最好標准。 中國的行業應該建立符合自己實際應用的基准程序和測試標准。中國稅務總局的做法值得提倡。國家有關部門應該建立獨立的測試中心,制定跨行業、符合中國企事業運作模式的性能測試標准。 “國際通用”的度量可以作為參考值,而不應作為必要條件。尤其是一定要弄清這些流行度量有什麼含義,是在什麼樣的系統環境中測得的,以及基准程序是否符合企業真實的業務流程和運作模式。





Copyright © Linux教程網 All Rights Reserved