服務(wù)器性能指標:撥開服務(wù)器評測體系迷霧
用戶總希望有一種簡單、高效的度量標準,來量化評價服務(wù)器系統(tǒng),以便作為選型的依據(jù)。但實際上,服務(wù)器的系統(tǒng)性能很難用一兩種指標來衡量。包括 TPC、SPEC、SAP SD、Linpack和HPCC在內(nèi)的眾多服務(wù)器評測體系,從處理器性能、服務(wù)器系統(tǒng)性能、商業(yè)應(yīng)用性能直到高性能計算機的性能,都給出了一個量化的評價指標。在如此多的標準中,用戶該如何選擇最適合自身應(yīng)用環(huán)境的評價體系呢?這里,我們選擇了應(yīng)用面較廣泛的TPC和SPEC,作一個深入介紹。
■ 走出誤區(qū)
深入TPC-C指標
TPC體系是影響最大的評測基準之一,尤其近兩年,國內(nèi)媒體對TPC指標的報道可謂海量。但有多少用戶真正了解其中的含義呢?本文以TPC-C為例,讓用戶深入了解這項基準測試。
tpmC值在國內(nèi)外被廣泛用于衡量服務(wù)器系統(tǒng)的事務(wù)處理能力。但究竟什么是tpmC值呢?筆者曾向一些用戶、專業(yè)媒體記者乃至某些國外大公司的技術(shù)人員問過這個問題,但回答的精確度與tpmC值的流行程度差異甚遠。不少人將之誤寫為TPMC,甚至與TPC組織混為一談。
TPC(Transactionprocessing Performance Council,事務(wù)處理性能委員會)是由數(shù)十家會員公司創(chuàng)建的非盈利組織,總部設(shè)在美國。TPC的成員主要是計算機軟硬件廠家,而非計算機用戶,其功能是制定商務(wù)應(yīng)用基準程序的標準規(guī)范、性能和價格度量,并管理測試結(jié)果的發(fā)布。
TPC不給出基準程序的代碼,而只給出基準程序的標準規(guī)范。任何廠家或其他測試者都可以根據(jù)規(guī)范,最優(yōu)地構(gòu)造出自己的測試系統(tǒng)(測試平臺和測試程序)。為保證測試結(jié)果的完整性,被測試者(通常是廠家)必須提交給TPC一套完整的報告(Full Disclosure Report),包括被測系統(tǒng)的詳細配置、分類價格和包含5年維護費用在內(nèi)的總價格。該報告必須由TPC授權(quán)的審核員核實(TPC本身并不做審計)。 TPC在全球只有不到10名審核員,全部在美國。
TPC推出過11套基準程序,分別是正在使用的TPC-App、TPC-H、TPC-C、TPC-W,過時的TPC-A、TPC-B、 TPC-D和TPC-R,以及因為不被業(yè)界接受而放棄的TPC-S(Server專門測試基準程序)、TPC-E(大型企業(yè)信息服務(wù)測試基準程序)和 TPC-Client/Server。而目前最為“流行”的TPC-C是在線事務(wù)處理(OLTP)的基準程序,于1992年7月完成,后被業(yè)界逐漸接受。
TPC-C使用三種性能和價格度量,其中性能由tpmC(transactions per minute,tpm)衡量,C指TPC中的C基準程序。它的定義是每分鐘內(nèi)系統(tǒng)處理的新訂單個數(shù)。TPC-C還經(jīng)常以系統(tǒng)性能價格比的方式體現(xiàn),單位是$/tpmC,即以系統(tǒng)的總價格(單位是美元)/tpmC數(shù)值得出。
解讀tpmC
從TPC-C的定義不難知道,這套基準程序是用來衡量整個IT系統(tǒng)的性能,而不是評價服務(wù)器或某種硬件系統(tǒng)的標準,而且tpmC數(shù)值的高低直接受到各個環(huán)節(jié)的影響,右表大概可以說明系統(tǒng)設(shè)置對tpmC測試的影響。此處的“IT系統(tǒng)”包括服務(wù)器、外設(shè)(如硬盤或 RAID)、服務(wù)器端操作系統(tǒng)、數(shù)據(jù)庫軟件、客戶端及其操作系統(tǒng)、數(shù)據(jù)庫軟件和網(wǎng)絡(luò)連接等。因此,如何解讀tpmC數(shù)值會因不同的采購需求有非常大的差異。
tpmC測試指標與硬件的關(guān)聯(lián)度
|
|||||
交易類型
|
復(fù)雜程度
|
發(fā)生頻率
|
訪問表的數(shù)量(內(nèi)存、磁盤IO相關(guān))
|
平均邏輯IO數(shù)目
|
CPU的負載(%)
|
新訂單
|
復(fù)雜交易
|
45%
|
8
|
46
|
53
|
付款
|
復(fù)雜交易
|
43%
|
4
|
8
|
11
|
交貨
|
4%
|
4
|
70
|
8
|
|
訂單查詢
|
簡單交易
|
4%
|
3
|
12
|
1
|
庫存查詢
|
復(fù)雜交易
|
4%
|
3
|
401
|
27
|
上述5種交易中,除付貨交易是事后批處理,其余4種皆為聯(lián)機交易。要注意的是,在處理新訂單的同時,系統(tǒng)還要處理其他4類事務(wù)請求。通常而言,新訂單請求不可能超出全部事務(wù)請求的45%,因此,當一個系統(tǒng)的性能為1000tpmC時,它每分鐘實際處理的請求數(shù)是2000多個。
數(shù)據(jù)來源:www.tpc.org
|
以服務(wù)器為例。在很多廠家的TPC測試系統(tǒng)中,服務(wù)器的價格只是系統(tǒng)總價格的25%或更小,而硬盤的價格有可能占到總價格的30%以上,因為TPC-C要求被測系統(tǒng)必須保存180天的事務(wù)記錄(這一趨勢從一些最新的TPC-C測試結(jié)果來看,會愈演愈烈)。如果同樣的服務(wù)器被用到用戶的環(huán)境中,廠家報的tpmC值就意義不大,因為用戶的實際系統(tǒng)與廠家原來用于TPC測試的系統(tǒng)大不一樣。當同樣的主機用在不同的系統(tǒng)中時,tpmC值可能有相當大的變化,現(xiàn)在許多用戶還沒有意識到這一點。
尤其需要服務(wù)器采購用戶注意的是,tpmC指標更多的是衡量從Client到終端網(wǎng)絡(luò)的性能區(qū)域(如左圖所示),而不是通常誤認為的服務(wù)器到企業(yè)端網(wǎng)絡(luò)的性能。由此可見,如果用戶是建立一套全新的業(yè)務(wù)系統(tǒng),那么無妨多借鑒tpmC的性能指標,如果只是采購某種或某些硬件設(shè)備,則需要參考更多的指標。
對于tpmC數(shù)值著迷的用戶而言,一個現(xiàn)實問題是,實現(xiàn)高tpmC指標的代價是否能夠承受,畢竟TPC-C都是很復(fù)雜的基準程序,做一個嚴格的測試非常消耗資源,廠商通常不會給TPC報告出全部花費的金錢和時間。
實際上,正因為tpmC(其他評測指標也大都一樣)受系統(tǒng)優(yōu)化影響較大,業(yè)界對于是否應(yīng)該在測試中進行優(yōu)化向來爭議頗多。在1993年, 當時三大IT公司的專家就對OLTP性能測試的優(yōu)化提出過反對意見——DEC的 Jim Gray (現(xiàn)為TPC-C委員會專家) 與Walt Kohler 、天騰公司(TANDEN)的Charles Levine 和IBM的Steve Kiss共同發(fā)表了對OLTP性能測試指標是否應(yīng)該進行人為優(yōu)化的看法:
“一個好的性能測試指標是不會依賴于特殊情況下的優(yōu)化。最理想的情況應(yīng)該是:一個測試指標在測試過程中所表現(xiàn)出的性質(zhì)和能力, 以及對測試所做的優(yōu)化能夠確實提供對現(xiàn)實世界中用戶實際應(yīng)用的性能改進。然而,事與愿違,某些廠商迫于標準測試指標所帶來的巨大市場壓力,他們花費巨大的精力在如何改進測試結(jié)果的同時還能降低價格比率,而全然不顧所做的這一切優(yōu)化究竟是否給用戶帶來了真實的利益。”
評測組織網(wǎng)站:
http://tpc.org/
http://www.spec.org/
Storage:
http://www.storageperformance.org
【編輯推薦】