1. 程式人生 > >衡量伺服器效能的標準TPC

衡量伺服器效能的標準TPC

我們平時買個人電腦時一般會看CPU,記憶體,硬碟,顯示卡,作業系統等一些資訊,但這樣只能有一個直觀的感覺.沒有一個統一的標準來衡量這臺電腦是好還是壞,價效比高不.不過個人電腦就自己用用,價錢也不貴,也不用太較真.但要買伺服器(server)就不同了,不僅價錢昂貴,而且是很多人用,影響重大,必須得慎重考慮...這時我們自然也會考慮Server的硬體,作業系統等資訊.但同樣這不容易有個客觀的標準,因為單獨的的硬體可能有些客觀的衡量標準,但軟硬體做為一個整體組合在一起時效能怎麼樣呢?這其實是我們更看重的.



TPC組織

那沒有客觀標準的的時候我們只能被生產Server的廠商忽悠了.針對這個情況一個非盈利組織TPC(Transaction Process Performance Council)事務處理效能委員會應運而生了.它制定了一些標準(Benchmark)來衡量一個Server的效能好壞.TPC官網:http://www.tpc.org/

剛開始制定了TPC-A,TPC-B標準,但現在基本廢棄了.後面又出現了TPC-C,TPC-D,TPC-E,TPC-H.TPC-DS等.其中TPC-C,TPC-E是針對OLTP系統的,TPC-E是TPC-C的改進版.

TPC-D,TPC-H,TPC-DS是針對OLAP系統的.TPC-D基本上沒用了,現在主要用TPC-H和TPC-DS.

測TPC標準的時候一般是在一個Server上裝一個數據庫,然後在資料庫中做一些操作,最後會得到tpm(transaction per minute)或tps(transaction per second)這樣的結果.也就是資料庫一分鐘或一秒鐘能處理多少個事務.我們就是用這個結果來評價Server的效能好壞.這個值越大表示效能越好.另外還可以用Server的價錢除以這個值,這就是價效比,值越低越好.TPC的測試是Server廠商去做,然後賣Server的時候會公佈這個結果.當然客戶自己也可以去做TPC的測試

OLAP和OLTP

補充: OLAP和OLTP和簡單介紹. OLAP即聯機事務處理系統,關係資料庫的應用大部分是屬於這一範疇.OLTP即聯機分析處理系統,也叫決策支援系統.資料倉庫的應用基本上屬於這範疇.參看:http://baike.baidu.com/view/277075.htm

因為平時用的最多的是OLAP系統,所以最常用的標準也就是TPC-C和TPC-E



TPC具體怎麼用

TPC標準它只提供一個規範,就是用文字描述一種標準的業務場景,但具體怎麼實現TPC組織不管,你自己寫程式碼實現去.當然有些軟體產品會提供這些功能

.其中TPC-C標準就是定義這樣一種業務場景:假設有一個大型商品批發商,它擁有若干個分佈在不同區域的商品庫;每個倉庫負責為10個銷售點供貨;每個銷售點為3000個客戶提供服務;每個客戶平均一個訂單有10項產品;所有訂單中約1%的產品在其直接所屬的倉庫中沒有存貨,需要由其他區域的倉庫來供貨

詳細介紹參考eygle同志的部落格:http://www.eygle.com/archives/2004/10/howto_implement_benchmark_test01.html



TPC對Server生產廠商有很大用處:參照那個標準來讓自己的Server在TPC的測試中得分越來越高,然後賣的時候也可以拿TPC測試結果做為一個宣傳手段來吸引客戶.

客戶在選Server的時候也可以根據TPC結果來做比較.另外客戶通過估計自己的應用系統的一些使用情況,比如總使用人數,每天使用人數,峰值等一些資訊可以大概的計算出Server需要達到哪個TPC標準測試結果值才能滿足業務需求.這樣即不會花多餘的錢買個太貴的Server,也不花太錢少了買個Server不能滿足需求.

TPC-C的計算方式參考:http://hi.baidu.com/huntercys/blog/item/7c341fa41e8172f29152ee42.html