撥開(kāi)服務(wù)器評(píng)測(cè)體系迷霧
相信實(shí)踐:最佳檢驗(yàn)方式
眾所周知,成熟的企業(yè)從不相信任何“國(guó)際通用標(biāo)準(zhǔn)”,而是花相當(dāng)精力,比如預(yù)算的5%,使用自己的應(yīng)用來(lái)測(cè)試系統(tǒng),從而決定選型。“國(guó)際通用標(biāo)準(zhǔn)”的度量可以作為參考值,而不應(yīng)作為必要條件。尤其是一定要弄清這些流行度量有什么含義,是在什么樣的系統(tǒng)環(huán)境中測(cè)得的,以及基準(zhǔn)程序是否符合企業(yè)真實(shí)的業(yè)務(wù)流程和運(yùn)作模式?! ∠旅婢褪侨N不同的檢測(cè)模式
在真實(shí)環(huán)境中運(yùn)行實(shí)際應(yīng)用
這是最理想的方式。要求制造商或系統(tǒng)集成商配合將系統(tǒng)(含平臺(tái)、軟件和操作流程)在一個(gè) 實(shí)際用戶點(diǎn)真正試運(yùn)行一段時(shí)間。這樣,用戶不僅能看到實(shí)際性能,也能觀察到系統(tǒng)是否穩(wěn)定可靠、使用是否方便、服務(wù)是否周到、配置是否足夠、全部?jī)r(jià)格是否合理。
使用用戶定義的基準(zhǔn)程序
如果第一種方式不可行,用戶可以定義一組含有自己實(shí)際應(yīng)用環(huán)境特征的應(yīng)用基準(zhǔn)程序。業(yè)內(nèi)有兩個(gè)典型的例子:其一是,近年來(lái)由于3層應(yīng)用模型的風(fēng)靡,SAP SD基準(zhǔn)獲得了眾多廠商和用戶的認(rèn)可,于是在很多地方都能看見(jiàn)對(duì)SAP測(cè)試數(shù)據(jù)的引用;其二是,國(guó)家稅務(wù)總局曾經(jīng)開(kāi)發(fā)自己的基準(zhǔn)程序,以幫助稅務(wù)系統(tǒng)進(jìn)行服務(wù)器選型。這種方式在中國(guó)尤其重要,因?yàn)橹袊?guó)的信息系統(tǒng)有其特殊性。
使用通用基準(zhǔn)程序
如果前兩種均難實(shí)行,那么使用如TPC-C之類的通用基準(zhǔn)程序未嘗不可。但用戶應(yīng)當(dāng)尤其注意——實(shí)際應(yīng)用是否與基準(zhǔn)程序相符?絕大多數(shù)基準(zhǔn)程序都是在美國(guó)制訂的,而中國(guó)的企事業(yè)單位與美國(guó)的運(yùn)作方式常常不一樣,在使用TPC-C時(shí),用戶應(yīng)該清楚地知道:自己的應(yīng)用是否符合批發(fā)商模式?事務(wù)請(qǐng)求是否與測(cè)試模式近似?對(duì)響應(yīng)時(shí)間的要求是否那么高?如果都不是,則tpmC值的參考價(jià)值就不太大了。那么不妨看看其他的更合適的測(cè)試指標(biāo),例如SPECweb2005等
主流基準(zhǔn)測(cè)試概覽 |
||
基準(zhǔn)名稱 |
基本描述 |
側(cè)重點(diǎn) |
TPC-C |
單位為tpmC,對(duì)系統(tǒng)在線事務(wù)處理能力進(jìn)行評(píng)價(jià),含義為每分鐘內(nèi)系統(tǒng)處理新訂單的個(gè)數(shù)。 |
主要是服務(wù)器OLTP,主要是模擬企業(yè)MIS、ERP系統(tǒng)來(lái)考驗(yàn)服務(wù)器聯(lián)機(jī)業(yè)務(wù)處理能力 |
TPC-H |
單位為QphH@size,表示系統(tǒng)在處理特定資料量的數(shù)據(jù)庫(kù)時(shí),系統(tǒng)在一小時(shí)之內(nèi)能完成查詢的數(shù)量。 |
主要目的是考驗(yàn)基于特定查詢的決策支持能力,強(qiáng)調(diào)服務(wù)器在數(shù)據(jù)挖掘、分析處理上面的能力。 |
SPEC CPU2000 |
單位為比值,是系統(tǒng)執(zhí)行測(cè)試程序的時(shí)間與參考系統(tǒng)的比值。 |
考察系統(tǒng)CPU運(yùn)算能力和內(nèi)存性能。 |
SPECweb 2005 |
指標(biāo)為整數(shù),含義為系統(tǒng)能同時(shí)相應(yīng)的最大Http連接數(shù)。 |
側(cè)重CPU、內(nèi)存、系統(tǒng)I/O和網(wǎng)絡(luò)的整體性能。 |
SPECjAppServer 2004 |
單位為jops@配置,即基于java平臺(tái)的應(yīng)用服務(wù)器每秒能執(zhí)行的java操作數(shù)。 |
衡量JIEE 1.3應(yīng)用服務(wù)器的性能 |
Linpack |
指標(biāo)為實(shí)數(shù),指HPC采用高斯消元法求解一元N次稠密線性代數(shù)方程組的每秒處理次數(shù)。 |
衡量HPC單機(jī)或集群的浮點(diǎn)性能。 |
HPCC |
包括7個(gè)子項(xiàng),為HPL、雙精度矩陣乘法、內(nèi)存帶寬、并行矩陣轉(zhuǎn)置、隨機(jī)存儲(chǔ)、傅立葉變換與通信帶寬延遲。 |
全面衡量HPC系統(tǒng)性能,缺陷是比較復(fù)雜,測(cè)試時(shí)間較長(zhǎng)。 |
SAP SD |
指標(biāo)涵義為一定數(shù)量規(guī)模的SAP SD客戶端發(fā)出SAPS請(qǐng)求,系統(tǒng)的響應(yīng)時(shí)間與每小時(shí)能完成的訂單數(shù)量。 |
衡量單一系統(tǒng)同時(shí)執(zhí)行應(yīng)用程序與數(shù)據(jù)庫(kù)的能力。 |
SPEC關(guān)注CPU和它們不使用CPU的浮點(diǎn)單元;而“浮點(diǎn)數(shù)”部分有 14 個(gè)程序,使用 FORTRAN 77/90 和C語(yǔ)言,這些程序的主要運(yùn)算是浮點(diǎn)數(shù)的。 SPECint2000 和 SPECfp2000 的結(jié)果,以執(zhí)行時(shí)間為準(zhǔn)。每個(gè)程序的執(zhí)行時(shí)間和一個(gè)參考平臺(tái)(Sun Ultra5/10 300MHz)相比,計(jì)算出其倍數(shù)。如果執(zhí)行時(shí)間和參考平臺(tái)相同,結(jié)果就是100。如果只花了一半時(shí)間完成,結(jié)果就是200。“整數(shù)”的12 個(gè)程序的結(jié)果,取其平均值,得到的就是SPECint2000 的測(cè)試結(jié)果。“浮點(diǎn)數(shù)”的 14 個(gè)程序也是一樣。 由于SPEC CPU2000的測(cè)試程序都是源代碼形式(以保證跨平臺(tái)測(cè)試),所以編譯器效率就顯得十分重要。SPEC CPU2000規(guī)定,測(cè)試結(jié)果有“Base”和“Peak”兩種結(jié)果。“Base”測(cè)試中,對(duì)于編譯時(shí)的最佳優(yōu)化參數(shù)有所規(guī)定(所有的程序都需使用同樣的參數(shù),且參數(shù)數(shù)目不能超過(guò)四個(gè)),而“Peak”測(cè)試則比較寬松?! ×硗?,因?yàn)?SPEC CPU2000的程序都是針對(duì)單CPU的系統(tǒng)設(shè)計(jì),因此,在多CPU系統(tǒng)上,如果要測(cè)試多CPU系統(tǒng)的效率,則是采取同時(shí)執(zhí)行多個(gè)相同程序的方法,這個(gè)結(jié)果就是“Rate”。因此,同樣有 SPECint_rate 和 SPECfp_rate 的測(cè)試結(jié)果。需要說(shuō)明的是,“Rate”測(cè)試同時(shí)執(zhí)行多個(gè)相同的程序,但程序之間并不會(huì)有關(guān)聯(lián),所以這是一種理論計(jì)算能力測(cè)試,并不代表實(shí)際并行計(jì)算能力。Web服務(wù) 參考Web2005 SPEC web2005測(cè)試的原理是,通過(guò)多臺(tái)客戶機(jī)向服務(wù)器發(fā)出Http Get請(qǐng)求,請(qǐng)求調(diào)用Web服務(wù)器上的網(wǎng)頁(yè)文件,這些文件從數(shù)千字節(jié)到數(shù)兆字節(jié)不等。在相同的時(shí)間里,服務(wù)器回答的請(qǐng)求越多,就表明服務(wù)器對(duì)客戶端的處理能力越強(qiáng),系統(tǒng)的Web性能就越好。 目前SPECweb2005測(cè)試榜上,性能最高的是2005年11月發(fā)布的Sun Fire T2000系統(tǒng),此系統(tǒng)的基本配置為1顆8核心的UltraSPARC T1(1.2GHz)/32GB內(nèi)存/3×73GB萬(wàn)轉(zhuǎn)SAS硬盤(pán)/Solaris 10/UFS文件系統(tǒng)/Java2 Runtime Environment,能夠同時(shí)響應(yīng)14001個(gè)Http請(qǐng)求。這一性能比排行第二的系統(tǒng)高出77%。如果用戶知道兩套系統(tǒng)的價(jià)格接近,那么就可輕易得知,采購(gòu)Fire T2000作為Web服務(wù)器,性價(jià)比將比采購(gòu)第二名的系統(tǒng)高出許多?! 〔贿^(guò)SPECweb2005的缺陷也正在于此,它不像TPC-C那樣要求廠商提供測(cè)試環(huán)境的總成本,對(duì)于實(shí)際采購(gòu)的指導(dǎo)意義有所削弱。 Web #p#page_title#e#
與TPC體系注重在線處理能力和數(shù)據(jù)庫(kù)查詢能力不同,SPEC體系中最廣為人知的兩個(gè)子項(xiàng),是衡量CPU、內(nèi)存性能的CPU2000和Web服務(wù)器性能的web2005。
除了TPC家族,SPEC家族也是廣為人知的一大體系。SPEC指標(biāo)體系由Standard Performance Evaluation Corp.制定,目前主要包括針對(duì)CPU性能的SPEC CPU2000(已有CPU2006,但尚無(wú)數(shù)據(jù))、針對(duì)Web服務(wù)器的SPECweb2005、針對(duì)高性能計(jì)算的SPEC HPC2002與SPEC MPI2006、針對(duì)Java應(yīng)用的jAppServer2004與JBB2005以及對(duì)圖形系統(tǒng)、網(wǎng)絡(luò)和郵件服務(wù)器的測(cè)試指標(biāo)。 其中CPU2000和web2005兩類是被引用最廣泛的指標(biāo)。CPU2000 注重CPU SPEC CPU2000 是一組針對(duì) CPU 和內(nèi)存的測(cè)試,它主要測(cè)試的對(duì)象是 CPU、內(nèi)存,不測(cè)試硬盤(pán)、I/O 效率和網(wǎng)絡(luò)等部分。SPEC CPU2000 由許多源代碼程序組成,這些程序都從實(shí)際的應(yīng)用(主要來(lái)自配置1~4顆CPU的工作站應(yīng)用)中取出來(lái)的,例如 164.gzip 就是gzip 壓縮程序。這些程序區(qū)分成“整數(shù)”和“浮點(diǎn)數(shù)”兩組。SPECint2000 就是“整數(shù)”部分,而 SPECfp2000 則是“浮點(diǎn)數(shù)”部分。“整數(shù)”部分有 12 個(gè)程序,使用 C 或 C++ 語(yǔ)言,
用戶總希望有一種簡(jiǎn)單、高效的度量標(biāo)準(zhǔn),來(lái)量化評(píng)價(jià)服務(wù)器系統(tǒng),以便作為選型的依據(jù)。但實(shí)際上,服務(wù)器的系統(tǒng)性能很難用一兩種指標(biāo)來(lái)衡量。包括TPC、SPEC、SAP SD、Linpack和HPCC在內(nèi)的眾多服務(wù)器評(píng)測(cè)體系,從處理器性能、服務(wù)器系統(tǒng)性能、商業(yè)應(yīng)用性能直到高性能計(jì)算機(jī)的性能,都給出了一個(gè)量化的評(píng)價(jià)指標(biāo)。在如此多的標(biāo)準(zhǔn)中,用戶該如何選擇最適合自身應(yīng)用環(huán)境的評(píng)價(jià)體系呢?這里,我們選擇了應(yīng)用面較廣泛的TPC和SPEC,作一個(gè)深入介紹。
■ 走出誤區(qū)
深入TPC-C指標(biāo)
TPC體系是影響最大的評(píng)測(cè)基準(zhǔn)之一,尤其近兩年,國(guó)內(nèi)媒體對(duì)TPC指標(biāo)的報(bào)道可謂海量。但有多少用戶真正了解其中的含義呢?本文以TPC-C為例,讓用戶深入了解這項(xiàng)基準(zhǔn)測(cè)試。
tpmC值在國(guó)內(nèi)外被廣泛用于衡量服務(wù)器系統(tǒng)的事務(wù)處理能力。但究竟什么是tpmC值呢?筆者曾向一些用戶、專業(yè)媒體記者乃至某些國(guó)外大公司的技術(shù)人員問(wèn)過(guò)這個(gè)問(wèn)題,但回答的精確度與tpmC值的流行程度差異甚遠(yuǎn)。不少人將之誤寫(xiě)為T(mén)PMC,甚至與TPC組織混為一談。
TPC(Transactionprocessing Performance Council,事務(wù)處理性能委員會(huì))是由數(shù)十家會(huì)員公司創(chuàng)建的非盈利組織,總部設(shè)在美國(guó)。TPC的成員主要是計(jì)算機(jī)軟硬件廠家,而非計(jì)算機(jī)用戶,其功能是制定商務(wù)應(yīng)用基準(zhǔn)程序的標(biāo)準(zhǔn)規(guī)范、性能和價(jià)格度量,并管理測(cè)試結(jié)果的發(fā)布。
TPC不給出基準(zhǔn)程序的代碼,而只給出基準(zhǔn)程序的標(biāo)準(zhǔn)規(guī)范。任何廠家或其他測(cè)試者都可以根據(jù)規(guī)范,最優(yōu)地構(gòu)造出自己的測(cè)試系統(tǒng)(測(cè)試平臺(tái)和測(cè)試程序)。為保證測(cè)試結(jié)果的完整性,被測(cè)試者(通常是廠家)必須提交給TPC一套完整的報(bào)告(Full Disclosure Report),包括被測(cè)系統(tǒng)的詳細(xì)配置、分類價(jià)格和包含5年維護(hù)費(fèi)用在內(nèi)的總價(jià)格。該報(bào)告必須由TPC授權(quán)的審核員核實(shí)(TPC本身并不做審計(jì))。TPC在全球只有不到10名審核員,全部在美國(guó)。
TPC推出過(guò)11套基準(zhǔn)程序,分別是正在使用的TPC-App、TPC-H、TPC-C、TPC-W,過(guò)時(shí)的TPC-A、TPC-B、TPC-D和TPC-R,以及因?yàn)椴槐粯I(yè)界接受而放棄的TPC-S(Server專門(mén)測(cè)試基準(zhǔn)程序)、TPC-E(大型企業(yè)信息服務(wù)測(cè)試基準(zhǔn)程序)和TPC-Client/Server。而目前最為“流行”的TPC-C是在線事務(wù)處理(OLTP)的基準(zhǔn)程序,于1992年7月完成,后被業(yè)界逐漸接受。
TPC-C使用三種性能和價(jià)格度量,其中性能由tpmC(transactions per minute,tpm)衡量,C指TPC中的C基準(zhǔn)程序。它的定義是每分鐘內(nèi)系統(tǒng)處理的新訂單個(gè)數(shù)。TPC-C還經(jīng)常以系統(tǒng)性能價(jià)格比的方式體現(xiàn),單位是$/tpmC,即以系統(tǒng)的總價(jià)格(單位是美元)/tpmC數(shù)值得出。
解讀tpmC
從TPC-C的定義不難知道,這套基準(zhǔn)程序是用來(lái)衡量整個(gè)IT系統(tǒng)的性能,而不是評(píng)價(jià)服務(wù)器或某種硬件系統(tǒng)的標(biāo)準(zhǔn),而且tpmC數(shù)值的高低直接受到各個(gè)環(huán)節(jié)的影響,右表大概可以說(shuō)明系統(tǒng)設(shè)置對(duì)tpmC測(cè)試的影響。此處的“IT系統(tǒng)”包括服務(wù)器、外設(shè)(如硬盤(pán)或RAID)、服務(wù)器端操作系統(tǒng)、數(shù)據(jù)庫(kù)軟件、客戶端及其操作系統(tǒng)、數(shù)據(jù)庫(kù)軟件和網(wǎng)絡(luò)連接等。因此,如何解讀tpmC數(shù)值會(huì)因不同的采購(gòu)需求有非常大的差異。
tpmC測(cè)試指標(biāo)與硬件的關(guān)聯(lián)度 |
|||||
交易類型 |
復(fù)雜程度 |
發(fā)生頻率 |
訪問(wèn)表的數(shù)量(內(nèi)存、磁盤(pán)IO相關(guān)) |
平均邏輯IO數(shù)目 |
CPU的負(fù)載(%) |
新訂單 |
復(fù)雜交易 |
45% |
8 |
46 |
53 |
付款 |
復(fù)雜交易 |
43% |
4 |
8 |
11 |
交貨 |
|
4% |
4 |
70 |
8 |
訂單查詢 |
簡(jiǎn)單交易 |
4% |
3 |
12 |
1 |
庫(kù)存查詢 |
復(fù)雜交易 |
4% |
3 |
401 |
27 |
上述5種交易中,除付貨交易是事后批處理,其余4種皆為聯(lián)機(jī)交易。要注意的是,在處理新訂單的同時(shí),系統(tǒng)還要處理其他4類事務(wù)請(qǐng)求。通常而言,新訂單請(qǐng)求不可能超出全部事務(wù)請(qǐng)求的45%,因此,當(dāng)一個(gè)系統(tǒng)的性能為1000tpmC時(shí),它每分鐘實(shí)際處理的請(qǐng)求數(shù)是2000多個(gè)。 數(shù)據(jù)來(lái)源:www.tpc.org |