HPC采購參照-服務(wù)器性能基準(zhǔn)測試
一個名為TPC(Transactionprocessing Performance Council,事務(wù)處理性能委員會)的組織無聲無息地成立了,而Benchmark(基準(zhǔn)測試)這個詞也隨之正式走上了企業(yè)計算的大舞臺。
從此,企業(yè)級計算平臺的性能邁開了可度量的步伐,而企業(yè)用戶在采購服務(wù)器平臺的時候,除主觀意識之外,理性的光芒開始閃耀。之后,Benchmark的內(nèi)涵和范疇在不斷演變,時至今日,已經(jīng)形成了非常豐富、全面的企業(yè)計算平臺基準(zhǔn)測試體系。天地之間,一切皆可度量。隨著Benchmark在用戶端認(rèn)知度不斷提升,無論是成百上千臺服務(wù)器喧鬧運轉(zhuǎn)的大中型數(shù)據(jù)中心,還是只有幾臺服務(wù)器安靜閃動的小機(jī)房,量化評價服務(wù)器系統(tǒng)的理性光芒在閃耀。
服務(wù)器的采購,正在進(jìn)入理性時代。用戶總希望有一種簡單、高效的度量標(biāo)準(zhǔn),來量化評價服務(wù)器系統(tǒng),以便作為選型的依據(jù)。但實際上,服務(wù)器的系統(tǒng)性能很難用一兩種指標(biāo)來衡量。最理想的評估方式,莫過于建立一個接近真實業(yè)務(wù)應(yīng)用的操作環(huán)境,進(jìn)行各種壓力測試,測算出不同應(yīng)用環(huán)境下服務(wù)器系統(tǒng)的響應(yīng)時間、吞吐量等等,從而對服務(wù)器性能做出一個最接近真實狀況的評估。然而,對大多數(shù)用戶來說,建立準(zhǔn)確的壓力測試環(huán)境是具有一定挑戰(zhàn)性的,所以很多時候,在采購服務(wù)器的過程中,就需要一個工業(yè)標(biāo)準(zhǔn)作為參照物。
那么,有這樣的參照物嗎?是的,業(yè)界有一個曝光率極高的詞--Benchmark,就是服務(wù)器的工業(yè)標(biāo)準(zhǔn)基準(zhǔn)測試,其中包括諸如TPC、SPEC、SAP SD、Linpack和HPCC等在內(nèi)的眾多服務(wù)器性能基準(zhǔn)測試,可以從處理器性能、服務(wù)器系統(tǒng)性能、商業(yè)應(yīng)用性能直到高性能計算機(jī)的性能,給出一個量化的評價指標(biāo)供用戶選擇。那么,在如此多的標(biāo)準(zhǔn)中,用戶該如何選擇最適合自身應(yīng)用環(huán)境的評價體系呢?
實際上,這完全取決于用戶對于其應(yīng)用環(huán)境的了解??梢哉f,了解應(yīng)用性質(zhì)非常重要,不同的應(yīng)用,即使屬于同一大類,Benhmark的適用性也是因為應(yīng)用類型的不同而不同的。例如都是數(shù)據(jù)庫系統(tǒng),也可能因為運算類型的不同而對服務(wù)器有不同的要求,所以基準(zhǔn)測試的適用性也不同。第一回:把脈兩大基準(zhǔn)體系心中有數(shù),方可游刃有余。在服務(wù)器基準(zhǔn)測試體系中,TPC和SPEC是最常用、最普及的兩大基準(zhǔn),深入了解其中的涵義和奧秘,對于更好地在服務(wù)器采購中運用Benchmark工具相當(dāng)重要。第一節(jié):了解TPC系統(tǒng)PC體系是影響最大的評測基準(zhǔn)之一,但有多少用戶真正了解其中的含義呢?TPC(Transaction processing Performance Council,事務(wù)處理性能委員會)是由數(shù)十家會員公司創(chuàng)建的非盈利組織,總部設(shè)在美國。TPC的成員主要是計算機(jī)軟硬件廠家,而非計算機(jī)用戶,其功能是制定商務(wù)應(yīng)用基準(zhǔn)測試程序的標(biāo)準(zhǔn)規(guī)范、性能和價格度量,并管理測試結(jié)果的發(fā)布。作為一家非盈利性機(jī)構(gòu),事務(wù)處理性能委員會(TPC)負(fù)責(zé)定義諸如TPC-C、TPC-H和TPC-W基準(zhǔn)測試之類的事務(wù)處理與數(shù)據(jù)庫性能基準(zhǔn)測試,并依據(jù)這些基準(zhǔn)測試項目發(fā)布客觀性能數(shù)據(jù)。TPC不給出基準(zhǔn)測試程序的代碼,而只給出基準(zhǔn)測試程序的標(biāo)準(zhǔn)規(guī)范。任何廠家或其他測試者都可以根據(jù)規(guī)范,最優(yōu)地構(gòu)造出自己的測試系統(tǒng)(測試平臺和測試程序)。為保證測試結(jié)果的完整性,被測試者(通常是廠家)必須提交給TPC一套完整的報告(Full Disclosure Report),包括被測系統(tǒng)的詳細(xì)配置、分類價格和包含5年維護(hù)費用在內(nèi)的總價格。該報告必須由TPC授權(quán)的審核員核實(TPC本身并不做審計)。TPC在全球只有不到10名審核員,全部在美國。TPC推出過11套基準(zhǔn)測試程序,分別是正在使用的TPC-App、TPC-H、TPC-C、TPC-W,過時的TPC-A、TPC-B、TPC-D和TPC-R,以及因為不被業(yè)界接受而放棄的TPC-S(Server專門基準(zhǔn)測試程序)、TPC-E(大型企業(yè)信息服務(wù)基準(zhǔn)測試程序)和TPC-Client/Server。而目前最為"流行"的TPC-C是在線事務(wù)處理(OLTP)的基準(zhǔn)測試程序,于1992年7月完成,后被業(yè)界逐漸接受。 #p#page_title#e#第二節(jié):SPEC關(guān)注Java和Web除了TPC家族,SPEC家族也是廣為人知的一大體系。與TPC體系注重在線處理能力和數(shù)據(jù)庫查詢能力不同,SPEC服務(wù)器應(yīng)用性能測試是一個全面衡量Web應(yīng)用中java企業(yè)應(yīng)用服務(wù)器性能的基準(zhǔn)測試。SPEC(the Standard Performance Evaluation Corporation標(biāo)準(zhǔn)性能評估機(jī)構(gòu))是一個全球性的、權(quán)威的第三方應(yīng)用性能基準(zhǔn)測試組織,它旨在確立、修改以及認(rèn)定一系列服務(wù)器應(yīng)用性能評估的標(biāo)準(zhǔn)。SPEC服務(wù)器應(yīng)用性能基準(zhǔn)測試是一個全面衡量Web應(yīng)用中java企業(yè)應(yīng)用服務(wù)器性能的基準(zhǔn)測試。在這個基準(zhǔn)測試中,系統(tǒng)模擬一個現(xiàn)代化企業(yè)的電子化業(yè)務(wù)工作,如客戶定購查詢、產(chǎn)品生產(chǎn)制造管理、供應(yīng)商和服務(wù)器提供商管理等,給系統(tǒng)以巨大的負(fù)載,以全面測試運行典型java業(yè)務(wù)應(yīng)用的服務(wù)器性能水平。由于它體現(xiàn)了軟、硬件平臺的性能和成本指標(biāo),被金融、電信、證券等關(guān)鍵行業(yè)用戶作為選擇IT系統(tǒng)一項權(quán)威的選型基準(zhǔn)測試指標(biāo)。目前主要包括針對CPU性能的SPEC CPU2000(已有CPU2006,但數(shù)據(jù)不是很多)、針對Web服務(wù)器的SPECweb2005、針對高性能計算的SPEC HPC2002與SPEC MPI2006、針對Java應(yīng)用的jAppServer2004與JBB2005以及其他針對圖形系統(tǒng)、網(wǎng)絡(luò)和郵件服務(wù)器的基準(zhǔn)測試指標(biāo)。其中CPU2000和web2005兩類是被引用最廣泛的基準(zhǔn)測試指標(biāo)。第三節(jié):三種實踐模式成熟的企業(yè),從不盲目相信"國際通用標(biāo)準(zhǔn)",他們總是付出人力、物力、財力,來建立自己的應(yīng)用測試系統(tǒng),從而決定服務(wù)器選型。"國際通用標(biāo)準(zhǔn)"的度量可以作為參考值,而不應(yīng)作為必要條件。尤其是一定要弄清這些流行的度量有什么含義,是在什么樣的系統(tǒng)環(huán)境中測得的,以及基準(zhǔn)程序是否符合企業(yè)真實的業(yè)務(wù)流程和運作模式。下面就是三種不同的檢測模式。在真實環(huán)境中運行實際應(yīng)用:這是最理想的方式。要求制造商或系統(tǒng)集成商配合將系統(tǒng)(含平臺、軟件和操作流程)在一個實際用戶點真正試運行一段時間。這樣,用戶不僅能看到實際性能,也能觀察到系統(tǒng)是否穩(wěn)定可靠、使用是否方便、服務(wù)是否周到、配置是否足夠、全部價格是否合理。使用用戶定義的基準(zhǔn)程序:如果第一種方式不可行,用戶可以定義一組含有自己實際應(yīng)用環(huán)境特征的應(yīng)用基準(zhǔn)測試程序。業(yè)內(nèi)有兩個典型的例子:其一,近年來由于3層應(yīng)用模型的風(fēng)靡,SAP SD基準(zhǔn)測試獲得了眾多廠商和用戶的認(rèn)可,于是在很多地方都能看見對SAP基準(zhǔn)測試數(shù)據(jù)的引用;其二,國家稅務(wù)總局曾經(jīng)開發(fā)自己的基準(zhǔn)測試程序,以幫助稅務(wù)系統(tǒng)進(jìn)行服務(wù)器選型。這種方式在中國尤其重要,因為中國的信息系統(tǒng)有其特殊性。使用通用基準(zhǔn)測試程序:如果前兩種均難實行,那么使用如TPC-C之類的通用基準(zhǔn)測試程序未嘗不可。但用戶應(yīng)當(dāng)尤其注意--實際應(yīng)用是否與基準(zhǔn)測試程序相符?絕大多數(shù)基準(zhǔn)測試程序都是在美國制訂的,而中國的企事業(yè)單位與美國的運作方式常常不一樣,在使用TPC-C時,用戶應(yīng)該清楚地知道:自己的應(yīng)用是否符合批發(fā)商模式?事務(wù)請求是否與測試模式近似?對響應(yīng)時間的要求是否那么高?如果都不是,則tpmC值的參考價值就不太大了。那么不妨看看其他的更合適的測試指標(biāo),例如SPECweb2005等。
第二回:四大應(yīng)用中的Benchmark
知己知彼,才能為我所用。
應(yīng)用種類不同,所適用的Benchmark基準(zhǔn)測試也不同。只有做到對應(yīng)用類型和Benchmark種類心中有數(shù),才能在名目繁多的基準(zhǔn)測試中找到能夠真正為我所用的項目,從而有效地指導(dǎo)服務(wù)器平臺采購。這里以高性能運算、在線事務(wù)處理能力、Web應(yīng)用和Java應(yīng)用四大類企業(yè)典型應(yīng)用為主,介紹了相應(yīng)"對號入座"的基準(zhǔn)測試。第一節(jié):高性能運算有多"高"?高性能計算機(jī)是一個復(fù)雜的系統(tǒng),很難用幾個參數(shù)或指標(biāo)對其進(jìn)行性能評價。為此,業(yè)界開發(fā)了多種標(biāo)準(zhǔn)測試程序試圖對高性能計算機(jī)進(jìn)行評定,但這些測試指標(biāo)通常都是對計算機(jī)某一方面進(jìn)行測試,而不能全面地說明系統(tǒng)的整體性能。 #p#page_title#e#目前,比較常用的幾個基準(zhǔn)測試中,Linpack側(cè)重于系統(tǒng)浮點峰值運算能力的測試;SPEC CPU2000測試的是單CPU性能及作業(yè)吞吐能力;SPEC OMP2001的結(jié)果說明了共享內(nèi)存的計算機(jī)使用共享內(nèi)存并行模式(OpenMP)的并行效率和加速比;STREAM試圖對系統(tǒng)的數(shù)據(jù)訪問能力(帶寬和延遲)進(jìn)行定量地評價等。高性能計算用戶的應(yīng)用千差萬別,對計算機(jī)系統(tǒng)的要求也是各種各樣。所以評價高性能計算機(jī)性能的最好方法是用用戶自己的應(yīng)用程序去進(jìn)行實際的測試,或找到相似應(yīng)用的商業(yè)軟件的基準(zhǔn)測試結(jié)果。這樣的評價會更有針對性,也比較客觀。比如在制造行業(yè)中,常常需要對汽車在高速行駛情況下的氣動性能、飛機(jī)發(fā)動機(jī)內(nèi)氣體流動等情況進(jìn)行分析,相應(yīng)的商業(yè)流體力學(xué)分析軟件有Fluent、Satr-CD、Power-Flow等。而在石油行業(yè)中,比較知名的軟件有Platform等。Linpack主宰TOP500每年,當(dāng)全球超級計算機(jī)TOP500發(fā)布的時候,都會成為業(yè)界的關(guān)注焦點。名單上起起落落、沉沉浮浮的背后,牽扯著從處理器廠商到系統(tǒng)廠商、軟件廠商等等的一長串心跳,對他們來說,名單上的名次就是實力、技術(shù)、研發(fā)、前瞻性等等多個因素的考量。那么,TOP500的名次是如何排定的呢?一項名為Linpack的服務(wù)器基準(zhǔn)測試就是最關(guān)鍵的依據(jù)。作為一種性能計量標(biāo)準(zhǔn),Linpack基準(zhǔn)可以提供詳細(xì)的描述和多種硬件平臺上的性能結(jié)果。Linpack Benchmark中使用的基準(zhǔn)測試方法主要用于解算線性方程的密集系統(tǒng)。在TOP500中,就使用了這種版本的基準(zhǔn)測試,使用戶能夠衡量系統(tǒng)的規(guī)模并對軟件進(jìn)行優(yōu)化,使其能夠在特定的硬件平臺上發(fā)揮出最佳的性能。雖然這種性能并不能反映出特定系統(tǒng)的總體性能,但它可以反映出專用系統(tǒng)解算線性方程密集系統(tǒng)的性能。因為這種問題很常見,而且取得的性能非常高,因此良好的性能參數(shù)對于峰值性能具有很好的參考意義。SPECfp2006考察浮點運算1、CPU基準(zhǔn)測試SPEC CPU2006對于一個高性能計算機(jī)來說,用戶最關(guān)注的就是它的整體運算能力,Linpack能夠幫助用戶清晰地掌握這個系統(tǒng)的整體能力,而對于單個CPU性能及作業(yè)吞吐能力的測試,則靠另外一個基準(zhǔn)測試SPEC CPU2006來完成。或者說,對于計算密集類型的工作負(fù)荷來說,SPEC CPU2006是一個非常重要的基準(zhǔn)測試。SPEC CPU2006能分別測量計算機(jī)系統(tǒng)的整數(shù)和浮點性能。其中,SPECint_base2006衡量在單處理器系統(tǒng)上的整數(shù)"速度"性能,而SPECfp_base2006則衡量在單處理器系統(tǒng)上的浮點"速度"性能。"整數(shù)"部分有12個程序,使用C或C++語言,它們不使用CPU的浮點單元;而"浮點數(shù)"分有 17 個程序(原來的CCPECfp2000至右14個程序),使用FORTRAN 77/90和C語言,這些程序的主要運算是浮點數(shù)的。SPECint2006和SPECfp2006的結(jié)果以執(zhí)行時間為準(zhǔn)。每個程序的執(zhí)行時間和一個參考平臺(Sun Ultra5/10 300MHz)相比,計算出其倍數(shù)。如果執(zhí)行時間和參考平臺相同,結(jié)果就是100。如果只花了一半時間完成,結(jié)果就是200。"整數(shù)"的12個程序的結(jié)果,取其平均值,得到的就是SPECint2006的測試結(jié)果。"浮點數(shù)"的17個程序也是一樣。
由于SPEC CPU2006的測試程序都是源代碼形式(以保證跨平臺測試),所以編譯器效率就顯得十分重要。SPEC CPU2006規(guī)定,測試結(jié)果有"Base"和"Peak"兩種結(jié)果。"Base"測試中,對于編譯時的最佳優(yōu)化參數(shù)有所規(guī)定(所有的程序都需使用同樣的參數(shù),且參數(shù)數(shù)目不能超過四個),而"Peak"測試則比較寬松。 #p#page_title#e#
2、關(guān)于浮點運算的誤區(qū)
SPECint2000和SPECfp2000分別衡量服務(wù)器的整數(shù)運算能力和浮點運算能力。然而很多人并不是非常清楚所謂整數(shù)運算能力和浮點運算能力的實質(zhì)意義。大多數(shù)高性能計算機(jī)都是用來進(jìn)行高精度、大計算量的科學(xué)計算,所以對于諸如石油勘探、地質(zhì)勘測、天氣預(yù)報等用戶來說,非常注重服務(wù)器的浮點運算能力,就是因為整數(shù)運算能力是指系統(tǒng)對于16位以內(nèi)數(shù)據(jù)的計算精確度和速度,而浮點運算能力代表的是一個計算機(jī)系統(tǒng)對于16位以上數(shù)據(jù)的計算速度和結(jié)果精確度。所以,對于高性能計算機(jī)的用戶來說,在采購服務(wù)器的時候,對于廠商提供的SPECfp2000浮點運算基準(zhǔn)測試要給予重點關(guān)注,而對于一般的商業(yè)用戶來說,一個計算機(jī)系統(tǒng)的浮點運算能力強(qiáng)或者弱,并沒有太大的實質(zhì)意義,這個用戶群體更應(yīng)該關(guān)注諸如TPC-C等在線事務(wù)交易處理性能。
3、英特爾處理器對浮點運算能力的加強(qiáng)英特爾®至強(qiáng)®處理器系列與英特爾®安騰®處理器系列通過先進(jìn)的處理器體系架構(gòu)對系統(tǒng)的浮點運算能力進(jìn)行了優(yōu)化與加強(qiáng),在Linpack,SPECfp2000等多項基準(zhǔn)測試中均體現(xiàn)出優(yōu)異的性能,其主要策略是并行計算與大量的內(nèi)核資源。以安騰系統(tǒng)的EPIC架構(gòu)為例,其大量的寄存器資源(264個通用寄存器)可以保證每時鐘周期6條指令的并發(fā)執(zhí)行,同時,豐富的板上資源,包括24MB的二級緩存可以使得所有處理器浮點運算單元保持高效運轉(zhuǎn),減少等待造成的系統(tǒng)空閑。同時,多線程、多核技術(shù)的應(yīng)用進(jìn)一步強(qiáng)化了其并行能力,使其在各項基準(zhǔn)測試中的浮點性能進(jìn)一步提升。第二節(jié):在線事務(wù)處理能力的衡量對于大多數(shù)的商業(yè)用戶來說,對于服務(wù)器系統(tǒng)的要求與科學(xué)計算用戶有著明顯的區(qū)別。對于這部分用戶來說,他們更關(guān)注服務(wù)器對于交易的處理能力以及處理成本,而不是峰值、單CPU的運算能力。在衡量基于數(shù)據(jù)庫應(yīng)用的服務(wù)器性能時,在線事務(wù)交易處理(OLTP)系統(tǒng)性能成為一個關(guān)鍵指標(biāo)。在現(xiàn)有的Benchmark體系中,有三個基準(zhǔn)測試可以幫助用戶有效衡量服務(wù)器系統(tǒng)的OLTP性能,就是TPC-C、TPC-H和SPECCPU。深入了解TPC-C1、TPC-C衡量系統(tǒng)整體TPC-C是一種旨在衡量聯(lián)機(jī)事務(wù)處理(OLTP)系統(tǒng)性能與可伸縮性的行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測試項目。這種基準(zhǔn)測試項目將對包括查詢、更新及隊列式小批量事務(wù)在內(nèi)的廣泛數(shù)據(jù)庫功能進(jìn)行測試。對于數(shù)據(jù)庫密集型應(yīng)用來說,TPC-C被許多IT專業(yè)人員視為衡量真實OLTP系統(tǒng)性能的有效指示器。TPC-C測試規(guī)范經(jīng)過兩年的研制,于1992年7月發(fā)布。幾乎所有在OLTP市場提供軟硬件平臺的廠商都發(fā)布了相應(yīng)的TPC-C測試結(jié)果,隨著計算機(jī)技術(shù)的不斷發(fā)展,這些測試結(jié)果也在被不斷刷新。獨立審計機(jī)構(gòu)負(fù)責(zé)對基準(zhǔn)測試結(jié)果進(jìn)行公證,同時,TPC將出據(jù)一份全面的測試報告,用戶可以從TPC站點(http://www.tpc.org/)上獲得。TPC-C測試規(guī)范中模擬了一個比較復(fù)雜并具有代表意義的OLTP應(yīng)用環(huán)境:假設(shè)有一個大型商品批發(fā)商,它擁有若干個分布在不同區(qū)域的商品庫;每個倉庫負(fù)責(zé)為10個銷售點供貨;每個銷售點為3000個客戶提供服務(wù);每個客戶平均一個訂單有10項產(chǎn)品;所有訂單中約1%的產(chǎn)品在其直接所屬的倉庫中沒有存貨,需要由其他區(qū)域的倉庫來供貨。TPC-C測試包括5個典型的OLTP事務(wù):新訂單:一個用戶提交一個新的訂單支付:更新用戶的賬戶余額以反映一個支付交付:訂單的交付(通過一個批事務(wù)處理實現(xiàn))訂單狀態(tài):返回用戶最新訂單的狀態(tài)庫存水平:監(jiān)控當(dāng)前倉庫庫存對于前四種類型的交易,要求響應(yīng)時間在5秒以內(nèi);對于庫存狀況查詢交易,要求響應(yīng)時間在20秒以內(nèi)。TPC-C的測試結(jié)果主要有兩個指標(biāo):流量指標(biāo)(Throughput,簡稱tpmC)按照TPC的定義,流量指標(biāo)描述了系統(tǒng)在執(zhí)行支付、訂單狀態(tài)更新、交付及存貨變更這四種交易的同時,每分鐘可以處理多少個新訂單交易。所有交易的響應(yīng)時間必須滿足TPC-C測試規(guī)范的要求。流量指標(biāo)值越大越好。性價比(Price/Performance,簡稱Price/tpmC)即測試系統(tǒng)價格(指在美國的報價)與流量指標(biāo)的比值。性價比越小越好。
基于四核英特爾®至強(qiáng)®5300系列處理器的服務(wù)器平臺數(shù)據(jù)庫性能
2、解讀tpmCtpmC代表的是系統(tǒng)最大的持續(xù)性能,它被定義為系統(tǒng)每分鐘可以處理多少個新訂單事務(wù),與此同時,系統(tǒng)還在處理其他四種事務(wù)類型(支付、訂單狀態(tài)、交付、庫存水平)。所有5個TPC-C事務(wù)都有某個限定的用戶響應(yīng)時間要求,其中新訂單事務(wù)的響應(yīng)時間是5秒以內(nèi)。因此如果一個系統(tǒng)的TPC-C值是100tpmC/min,說明該系統(tǒng)在每分鐘處理其他的混合的TPC-C事務(wù)的工作的同時,可以產(chǎn)生100個新訂單事務(wù)。 #p#page_title#e#從TPC-C的定義不難知道,這套基準(zhǔn)測試程序是用來衡量整個IT系統(tǒng)的性能,而不是評價服務(wù)器或某種硬件系統(tǒng)的標(biāo)準(zhǔn),而且tpmC數(shù)值的高低直接受到各個環(huán)節(jié)的影響,如服務(wù)器、外設(shè)(如硬盤或RAID)、服務(wù)器端操作系統(tǒng)、數(shù)據(jù)庫軟件、客戶端及其操作系統(tǒng)、數(shù)據(jù)庫軟件和網(wǎng)絡(luò)連接等。因此,如何解讀tpmC數(shù)值會因不同的采購需求有非常大的差異。例如,在很多廠家的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)大不一樣。當(dāng)同樣的主機(jī)用在不同的系統(tǒng)中時,tpmC值可能有相當(dāng)大的變化,現(xiàn)在許多用戶還沒有意識到這一點。尤其需要服務(wù)器采購用戶注意的是,tpmC指標(biāo)更多的是衡量從客戶端到終端網(wǎng)絡(luò)的性能區(qū)域,而不是通常誤認(rèn)為的服務(wù)器到企業(yè)端網(wǎng)絡(luò)的性能。由此可見,如果用戶是建立一套全新的業(yè)務(wù)系統(tǒng),那么無妨多借鑒tpmC的性能指標(biāo),如果只是采購某種或某些硬件設(shè)備,則需要參考更多的指標(biāo)。我們看到,隨著處理器技術(shù)的不斷創(chuàng)新,市場上各個廠商服務(wù)器性能在不斷提升,例如去年11月惠普公布了一項TPC-C測試結(jié)果,配置了兩顆主頻為2.66GHz、總線速度達(dá)1333MHz的四核英特爾®至強(qiáng)®X5355處理器(兩顆處理器,共8核,8線程)以及4MB二級緩存和64GB主內(nèi)存,運行Microsoft Windows Server 2003 EE x64操作系統(tǒng)和Microsoft SQL Server 2005 Enterprise x64 Edition SP1數(shù)據(jù)庫的HP ProLiant ML370 G5服務(wù)器取得了64位計算環(huán)境中240,737tpmC的TPC-C測試好成績,平均每tpmC的成本僅為1.85美元。這是全球四核處理器服務(wù)器的第一個TPC-C基準(zhǔn)測試成績,成為了當(dāng)時兩路服務(wù)器、雙處理器的最好成績,而每tpmC 1.85美元的成績也是基于雙處理器平臺的Microsoft SQL Server 2005數(shù)據(jù)庫的最佳性價比。相比上一代產(chǎn)品,性能有3倍的增長,而與相同配置的雙核處理器的服務(wù)器相比,性能有42%的提升。從中我們可以看到,處理器本身對于服務(wù)器的性能幾乎起著決定性的作用。
TPC-H關(guān)注查詢能力TPC-H測量在商業(yè)分析中決策支持系統(tǒng)(DSS)的性能。DSS是一種計算機(jī)應(yīng)用程序,它分析商業(yè)數(shù)據(jù)展現(xiàn)出來使用戶/管理者可以更容易得進(jìn)行商業(yè)決策,例如供求管理、客戶滿意度分析、市場份額分析等。TPC-H 模擬了商業(yè)環(huán)境中的分析端,大量的數(shù)據(jù)被細(xì)化,可以幫助企業(yè)進(jìn)行可靠的商業(yè)決策,其中包含一整套面向商業(yè)的特殊查詢和并發(fā)數(shù)據(jù)修改內(nèi)容。該基準(zhǔn)中選擇的查詢和數(shù)據(jù)庫中的數(shù)據(jù)都具有廣泛的全行業(yè)關(guān)聯(lián)性。這種基準(zhǔn)測試所描述的決策支持系統(tǒng)可檢查大量的數(shù)據(jù),所執(zhí)行的查詢也具有很高的復(fù)雜度。并且,TPC-H會基于數(shù)據(jù)庫的大小將結(jié)果分類。TPH的性能度量單位有兩個,一個被稱為"TPC-H復(fù)合式每小時查詢性能單位"(TPC-H Composite Query-per-Hour Performance Metric - QphH@Size),反映的是系統(tǒng)處理查詢的多方面能力,包括查詢執(zhí)行時選定的數(shù)據(jù)庫大小、單個流提交查詢時的查詢處理能力,以及多個并發(fā)用戶提交查詢時的查詢吞吐量。另外一個,是價格/性能比計量單位$/QphH。
SPEC CPU2006中的學(xué)問對于關(guān)注在線事務(wù)交易處理能力的用戶來說,SPEC CPU2006也是一項非常重要的基準(zhǔn)測試指標(biāo)。就像前面提到的,SPEC CPU2006是一組針對CPU和內(nèi)存的測試,它主要測試的對象是CPU、內(nèi)存,不測試硬盤、I/O效率和網(wǎng)絡(luò)等部分。因為SPEC CPU2006的程序都是針對單CPU的系統(tǒng)設(shè)計,因此,在多CPU系統(tǒng)上,如果要測試多CPU系統(tǒng)的效率,則是采取同時執(zhí)行多個相同程序的方法,這個結(jié)果就是"Rate"。因此,同樣有SPECint_rate和SPECfp_rate的測試結(jié)果。需要說明的是,"Rate"測試同時執(zhí)行多個相同的程序,但程序之間并不會有關(guān)聯(lián),所以這是一種理論計算能力測試,并不代表實際并行計算能力。
#p#page_title#e#
第三節(jié):為Web服務(wù)找最好的平臺
毫無疑問,現(xiàn)在企業(yè)正越來越深入地進(jìn)入Web計算時代,而Web服務(wù)器也已經(jīng)成為絕大多數(shù)企業(yè)不可或缺的平臺工具。SPEC Web2005和TPC-W兩個基準(zhǔn)測試都可以幫助用戶有效衡量Web服務(wù)器的性能。SPEC Web2005有缺陷作為SPECweb99和SPECweb99_SSL的繼承者,SPECweb2005延續(xù)了SPEC的傳統(tǒng),為Web用戶提供客觀的Web服務(wù)器系統(tǒng)性能基準(zhǔn)測試。SPEC web2005測試的原理是,通過多臺客戶機(jī)向服務(wù)器發(fā)出Http Get請求,這種請求完全模擬Internet用戶對服務(wù)器的訪問,請求調(diào)用Web服務(wù)器上的網(wǎng)頁文件,這些文件從數(shù)千字節(jié)到數(shù)兆字節(jié)不等。在相同的時間里,服務(wù)器回答的請求越多,就表明服務(wù)器對數(shù)據(jù)的處理能力越強(qiáng),它的內(nèi)存與CPU、PCI通道之間的傳輸帶寬越寬,服務(wù)器的硬盤子系統(tǒng)和網(wǎng)絡(luò)子系統(tǒng)傳輸速度越快,服務(wù)器的Web性能就越好。基于快速發(fā)展的Web技術(shù),與上一代基準(zhǔn)測試相比,SPECweb2005基準(zhǔn)包括許多新增強(qiáng)特性,其中包括:測量并發(fā)用戶會話。相關(guān)動態(tài)內(nèi)容:包括PHP和JSP實施。使用兩個并行HTTP連接請求頁面鏡像。多種標(biāo)準(zhǔn)化的工作負(fù)載:銀行業(yè)(HTTPS)、電子商務(wù)(HTTP and HTTPS)和支持(HTTP)。使用If-Modified-Since請求模擬模擬器緩存效果。文件訪問與今天的真實Web服務(wù)器訪問模式匹配度更高。不過SPECweb2005也有缺陷--它不像TPC-C那樣要求廠商提供測試環(huán)境的總成本,所以用戶不能衡量單位計算所消耗的成本,因此對于用戶的實際采購的指導(dǎo)意義相對弱一些。一個典型的SPECweb2005實驗環(huán)境
TPC-W衡量電子商務(wù)環(huán)境
TPC-W是衡量服務(wù)器在電子商務(wù)環(huán)境中性能的另一項重要基準(zhǔn)測試。TPC-W表現(xiàn)了在一個站點上多個服務(wù)器和WEB應(yīng)用聯(lián)合工作,服務(wù)于仿真瀏覽器的請求,它關(guān)注的焦點是整個系統(tǒng)。在一個TPC-W的測試中,主要的測試項目是每秒鐘內(nèi)完成的網(wǎng)絡(luò)信息交換數(shù)量(WIPS),每WIPS的花費($/WIPS)以及下訂單時的網(wǎng)絡(luò)交換數(shù)量。另外在這些測試項目中,測試者必須提供所有主要子系統(tǒng)的性能參數(shù),諸如處理器、內(nèi)存、磁盤和網(wǎng)絡(luò)等所有服務(wù)器審計運行中所需要的項目。TPC-W的負(fù)載包含針對不同網(wǎng)頁的處理,每一個網(wǎng)頁都是在電子商務(wù)中必要的操作。例如,用戶可以測試使用任何瀏覽器進(jìn)行的主頁瀏覽、查詢、觀看查詢結(jié)果、購買產(chǎn)品、確認(rèn)訂單、檢查訂單狀況,甚至于執(zhí)行管理操作。TPC-W提供一個從系統(tǒng)角度出發(fā)的電子商務(wù)解決方案,全面地體現(xiàn)獨立操作系統(tǒng)性能。盡管有些方面還不完善,但是TPC-W確實為最終用戶提供了許多平時得不到的原始數(shù)據(jù)和信息。第四節(jié):Java應(yīng)用服務(wù)器的基準(zhǔn)Java從誕生的時刻,就因為它的方便性而注定了必定流行。最近,一項全新的SPECjAppServer2004基準(zhǔn)測試性能世界記錄誕生了--配置了兩顆四核核英特爾®至強(qiáng)®處理器、裝備Linux操作系統(tǒng)的浪潮英信NF280D(Inspur NF280D)服務(wù)器,在運行帶有BEA JRockit 5.0 JVM的BEA WebLogic Server 10時,創(chuàng)下了同類配置的SPECJAppServer2004基準(zhǔn)測試世界紀(jì)錄,系統(tǒng)處理能力達(dá)到了1538.65JOPS@Standard(每秒處理事務(wù)數(shù))。這個新的基準(zhǔn)測試性能,對一個服務(wù)器來說,到底意味著什么?對企業(yè)又有什么意義呢?這先得從頭說起。今天,許多應(yīng)用軟件都是用Java編寫的,它的優(yōu)勢很明顯,就是經(jīng)過一次編寫后可運行在不同的操作系統(tǒng)平臺上,有很大的靈活性。但是,不同的Java版本運行在不同的硬件平臺上,會反映出不同的性能。如何判定不同硬件平臺運行Java程序的效率,是Java使用者所普遍關(guān)心的問題,而SPEC jbb2004就是一項被廣泛采用的Java虛擬機(jī)性能基準(zhǔn)測試,它的前身是SPEC jbb2000。SPECjbb2004是SPEC委員會制定的一套Java基準(zhǔn)測試程序,用于測試Java服務(wù)器性能,但是并不考察到網(wǎng)絡(luò)、磁盤I/O、和圖形處理能力。SPECjbb2004模擬了三層客戶/服務(wù)器模型結(jié)構(gòu),所有的三層結(jié)構(gòu)都在一個JVM(Java虛擬機(jī))內(nèi)實現(xiàn)。 #p#page_title#e#這三層結(jié)構(gòu)模擬了一個典型的商業(yè)應(yīng)用結(jié)構(gòu):第一層是用戶(客戶端輸入);第二層是商業(yè)應(yīng)用邏輯;第三層是數(shù)據(jù)庫。在SPECjbb2004里,第一層是用進(jìn)程或線程模擬客戶系統(tǒng)的隨機(jī)輸入;由Java類和Java對象形成的Btree模擬第三層的數(shù)據(jù)庫;在第二層里是對Btree數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作,其機(jī)構(gòu)圖如下:SPECjbb2004基準(zhǔn)測試借用了TPC-C基準(zhǔn)測試的概念、輸入產(chǎn)生、和交易模式。只不過,SPECjbb2004用Java類取代數(shù)據(jù)庫中的表(Table),用Java對象取代數(shù)據(jù)庫中的記錄(Record)。SPECjbb2004主要關(guān)心的是第二層業(yè)務(wù)邏輯的處理能力,即考察用Java編寫的應(yīng)用程序運行在某臺服務(wù)器上所表現(xiàn)出的性能。SPECjbb2004規(guī)則中要求只運行一個Java虛擬機(jī)(JVM)。在整個測試中,JVM(Java虛擬機(jī))、JIT(即時編譯)、操作系統(tǒng)的內(nèi)核處理、CPU的整型處理能力、Cache的大小、服務(wù)器SMP的線性擴(kuò)展能力等因素都會成為影響測試性能的關(guān)鍵。不過,測試值的好壞更多的依賴于Java虛擬機(jī)的性能,而且受系統(tǒng)帶寬的影響較小。在硬件平臺不變的情況下,JVM版本的升級會帶來性能幾倍的提升。SPECjbb2004反映的是Java虛擬機(jī)的性能,但在實際中該值常被用來說明服務(wù)器的擴(kuò)展性,有些廠商甚至用它來證明服務(wù)器的性能是最優(yōu)的、擴(kuò)展能力是線性的。其實,SPECjbb2004基準(zhǔn)測試完全是在內(nèi)存中運行,不涉及I/O操作、網(wǎng)絡(luò)操作等。如果用它來衡量服務(wù)器的整體能力和擴(kuò)展性,這未免以點帶面過于主觀,TPC-C、Oracle ASB11i、SAP等這些基準(zhǔn)測試更能貼近客戶的實際情況,更能代表服務(wù)器的性能和擴(kuò)展性。第三回:專用基準(zhǔn)測試探悉世間萬物,既有以廣度取勝者,也有以深取勝者。在基準(zhǔn)測試體系中,隨著企業(yè)級應(yīng)用的不斷擴(kuò)展和深入,一些應(yīng)用很廣泛的軟件平臺逐漸衍生出了自己專屬的Benchmark體系,以方便用戶衡量這些軟件平臺在某服務(wù)器上的運行效率,這就是專用基準(zhǔn)測試。實際上,除了TPC、SPEC兩大基準(zhǔn)測試體系以及Linkpack等具有普遍意義的的基準(zhǔn)測試以外,業(yè)界還創(chuàng)立了許多專用基準(zhǔn)測試,用以衡量服務(wù)器運行某些專有應(yīng)用的性能,目前較為廣泛的包括SAP基準(zhǔn)測試、Oracle基準(zhǔn)測試、郵件服務(wù)器基準(zhǔn)SPEC mail2001等。這里,我們以流行度很高、企業(yè)應(yīng)用種也很普遍的Oracle基準(zhǔn)測試為例,來熟悉一下專用基準(zhǔn)測試是如何來對服務(wù)器性能進(jìn)行度量的。Oracle應(yīng)用標(biāo)準(zhǔn)基準(zhǔn)包含兩個主要的組件:在線組件和批處理組件。在線組件可執(zhí)行多數(shù)用戶都會頻繁使用的通用用戶界面(UI)流。批量流包含訂單導(dǎo)入(Order Import)程序(大批量訂單處理),主要用于按批量模式處理和導(dǎo)入訂單。Oracle應(yīng)用標(biāo)準(zhǔn)基準(zhǔn)理事會(Oracle Applications Standard Benchmark Council)是一個由多家硬件企業(yè)、Oracle產(chǎn)品開發(fā)和Oracle產(chǎn)品線事業(yè)群的代表組成的機(jī)構(gòu)。該機(jī)構(gòu)推出的Oracle應(yīng)用性能基準(zhǔn)測試指標(biāo)(Oracle Applications Standard Benchmark)是一種可比較的標(biāo)準(zhǔn)工作負(fù)載。硬件廠商可以使用這種基準(zhǔn)測試對系統(tǒng)進(jìn)行壓力測試,使其能夠滿足較高水平的用戶并發(fā)請求,并且在響應(yīng)時間保持在可接受范圍內(nèi)的同時,獲得盡可能高的用戶數(shù),使用戶可以對不同系統(tǒng)配置上的Oracle應(yīng)用性能進(jìn)行對比。用戶數(shù)可測量系統(tǒng)能夠支持的并發(fā)Oracle應(yīng)用用戶數(shù)量,并且在支持這一用戶數(shù)量的同時,系統(tǒng)仍然能夠?qū)㈨憫?yīng)時間保持在預(yù)先定義的最大值以內(nèi)。用戶進(jìn)程是由他們所執(zhí)行的事務(wù)類型來定義的,而每個用戶都將保持一個最低的每小時事務(wù)率。事務(wù)率和工作負(fù)載的組合都不會隨著系統(tǒng)負(fù)載或響應(yīng)時間的增加而發(fā)生變化。Oracle應(yīng)用標(biāo)準(zhǔn)基準(zhǔn)可使用一系列選定的最常用Oracle應(yīng)用模塊來模擬真實的客戶場景。有些事務(wù)的定義會對基準(zhǔn)進(jìn)行對比,這些定義是通過與實施顧問的協(xié)作而獲得的,而且它們都具備OLTP、批處理和自助服務(wù)組件。后記:測試與應(yīng)用的關(guān)系如果脫離實際,那就會淪為紙上談兵。 #p#page_title#e#實際上,Benchmark只能作為參考,因為它本質(zhì)上是個應(yīng)用,除了對硬件環(huán)境有要求外,與系統(tǒng)的編譯、應(yīng)用的優(yōu)化都是有關(guān)系的,換句話說,所有的Benchmark都是基于最優(yōu)化環(huán)境產(chǎn)生的,這一點用戶心里一定要清楚。經(jīng)過近二十年的發(fā)展,Benchmark體系已經(jīng)相當(dāng)成熟了。盡管如此,相對于用戶應(yīng)用環(huán)境的千差萬別,Benchmark是一個最優(yōu)化環(huán)境中產(chǎn)生的"實驗室結(jié)果",并不能完全反映到用戶的實際應(yīng)用中。所以,成熟的心態(tài),是科學(xué)地、全面地看待并應(yīng)用Benchmark。1. 基準(zhǔn)測試作為專項指標(biāo),并不全面任何一個基準(zhǔn)測試都只能反映系統(tǒng)在某一方面的性能,而不可能反映系統(tǒng)的全面特性,比如SPECfp測試的是浮點能力,而不能反映系統(tǒng)I/O上的特性。即使是某些應(yīng)用的專用基準(zhǔn)測試程序(如SAP-SD),也同樣不能完全反映用戶的實際生產(chǎn)環(huán)境。所以在設(shè)備選型過程中,首先要做的是認(rèn)真分析應(yīng)用的特點,特別是在高負(fù)載下的性能瓶頸分析,以此采用相應(yīng)的基準(zhǔn)測試指標(biāo)作為選型的重點。最能夠反映服務(wù)器適用性的依然是實際(或仿真)應(yīng)用的線上測試。2. 考慮系統(tǒng)性能的線性能力在多處理器系統(tǒng)中,隨著處理器數(shù)目的增加,服務(wù)器性能往往不能同步線性增加,在OLTP、浮點等運算中,雙處理器的性能往往只是單處理器的1.4到1.7倍,而4路MP服務(wù)器、8路服務(wù)器的線性能力會更弱。在英特爾®至強(qiáng)®(Xeon)及安騰®處理器當(dāng)中,通過超強(qiáng)的并行能力及大量的板上資源,使得處理器的線性能力得到加強(qiáng)。在選型過程中,用戶如果使用多處理器或多服務(wù)器并行的應(yīng)用,應(yīng)該對處理性能的線性能力給以足夠關(guān)注,在基準(zhǔn)測試報告中會給出不同配置下的結(jié)果。3. 基準(zhǔn)測試只反映性能,但不是全部基準(zhǔn)測試可以幫助用戶判斷系統(tǒng)的性能特征,但適用性本身不止是性能,特別是在大型系統(tǒng)中,其它一些因素,包括耗電量、散熱、可管理能力等等,直接影響用戶的擁有成本及維護(hù)難度,應(yīng)予以充分考慮。Tips 1:基準(zhǔn)測試是系統(tǒng)性能的良好指標(biāo),只要你能:了解選擇的基準(zhǔn)測試測量對你重要的性能特性保證測試的硬件和軟件反應(yīng)需求保證性能測試的準(zhǔn)確與公平每個基準(zhǔn)測試只能測量系統(tǒng)某個或某些方面的性能。盡量使用已有的基準(zhǔn)測試,而不要建立自己的基準(zhǔn)測試?;鶞?zhǔn)測試數(shù)據(jù)僅僅是做出決定的一部分指標(biāo),其它方面,如可用性、服務(wù)、可靠性、策略也需要被考慮。Tips 2:對于將服務(wù)器系統(tǒng)用于科學(xué)運算的多數(shù)高性能計算機(jī)用戶來說,在采購服務(wù)器的時候,對于廠商提供的SPECfp2000浮點運算基準(zhǔn)測試要給與重點關(guān)注,而對于一般的商業(yè)用戶來說,一個計算機(jī)系統(tǒng)的浮點運算能力強(qiáng)或者弱,并沒有太大的實質(zhì)意義,這個用戶群體更應(yīng)該關(guān)注注入TPC-C等在線事務(wù)交易處理性能。Tips 3:TPC-C雖然客觀的反映了各個計算機(jī)廠商的系統(tǒng)處理性能,并且基準(zhǔn)測試也在不斷完善以更加貼近現(xiàn)實應(yīng)用的交易環(huán)境,但是仍然無法與紛繁多樣的各類實際應(yīng)用完全吻合;而且參加TPC測試的主機(jī)系統(tǒng)都做了適當(dāng)程度的系統(tǒng)優(yōu)化。因此,在實際業(yè)務(wù)應(yīng)用系統(tǒng)選擇主機(jī)服務(wù)器乘載體時,必須考慮到多方面的因素,以最大程度的做到適合應(yīng)用系統(tǒng)的生產(chǎn)需求。Tips 4:通過加大L2緩存數(shù)量和使用更快的內(nèi)存升級系統(tǒng),會有助于優(yōu)化Web服務(wù)器的性能。因為Web服務(wù)器主要運行操作系統(tǒng)代碼,系統(tǒng)應(yīng)該使用最新優(yōu)化版本的驅(qū)動程序和Web服務(wù)器軟件通過使用更大緩存尺寸和更快的內(nèi)存升級系統(tǒng),會有助于郵件服務(wù)器功能的發(fā)揮,同時削減內(nèi)存延遲。數(shù)據(jù)庫服務(wù)器具有大量的數(shù)據(jù)共享,并需要足夠的總線吞吐來高效運行。系統(tǒng)需要平衡配置才能將數(shù)據(jù)訪問分散在系統(tǒng)內(nèi)部不同總線上。使用帶有最大緩存數(shù)量的處理器和相干性過濾器(如果可以用)會降低系統(tǒng)內(nèi)引起相干錯過的因素,并提高系統(tǒng)性能。 Tips 5:英特爾平臺和基準(zhǔn)測試