常用性能測試指標(biāo)解讀與使用價(jià)值分析
一個(gè)好的IT管理系統(tǒng)不是市面上技術(shù)最最先進(jìn)、價(jià)格最昂貴、由世界上最頂尖的企業(yè)和研發(fā)團(tuán)隊(duì)開發(fā)出來的系統(tǒng),而是在企業(yè)預(yù)算范圍內(nèi)、最能夠被企業(yè)IT管理人員接受、與企業(yè)業(yè)務(wù)結(jié)合最緊密、能夠?yàn)槠髽I(yè)創(chuàng)造更大的投資回報(bào)率的IT系統(tǒng)。
在今天競爭激烈的市場中,IT管理能力是企業(yè)成功的關(guān)鍵。每一個(gè)企業(yè)都希望花最少的錢獲得一個(gè)性能最強(qiáng)、使用最便利、安全性最高、與企業(yè)業(yè)務(wù)結(jié)合最緊密的IT管理系統(tǒng)。一個(gè)好的IT系統(tǒng)能夠提高企業(yè)管理效率,降低企業(yè)運(yùn)營成本、提升企業(yè)在市場上的整體競爭力。 一個(gè)好的IT管理系統(tǒng)不是市面上技術(shù)最最先進(jìn)、價(jià)格最昂貴、由世界上最頂尖的廠商和研發(fā)團(tuán)隊(duì)開發(fā)出來的系統(tǒng),而是在企業(yè)預(yù)算范圍內(nèi)、最能夠被企業(yè)IT管理人員接受、與企業(yè)業(yè)務(wù)結(jié)合最緊密、能夠?yàn)槠髽I(yè)創(chuàng)造最大的投資回報(bào)率的IT系統(tǒng)?! ?duì)不同的企業(yè)來說,評(píng)估IT系統(tǒng)的方法和手段應(yīng)該是完全不一樣的。不同企業(yè)的規(guī)模不一樣、業(yè)務(wù)類型不一樣、贏利能力和發(fā)展階段也不一樣,要建立一個(gè)放之四海而皆準(zhǔn)的標(biāo)準(zhǔn)來指導(dǎo)所有企業(yè)進(jìn)行IT系統(tǒng)的選型,這幾乎是不可能的?! ?duì)于金融、石油等大型企業(yè)來說,IT信息系統(tǒng)崩潰給他們?cè)斐傻睦麧檽p失比一般的中小企業(yè)來說大得多,他們的數(shù)據(jù)規(guī)模大得多,他們能夠在IT系統(tǒng)方面的投入也大得多,因此他們可以嘗試去從更大的廠商手中購買性能更高、擴(kuò)展更更好、技術(shù)支持力度最強(qiáng)的IT系統(tǒng)。而這對(duì)于一個(gè)中小企業(yè)來說簡直是不可想象,因?yàn)橘徺I這樣一套系統(tǒng)的花費(fèi)甚至要超過他們?nèi)甑臓I業(yè)收入?! ∪欢行∑髽I(yè)在全球范圍內(nèi)都是經(jīng)濟(jì)的主體。他們不僅僅數(shù)量龐大,而且市場反應(yīng)敏捷,更容易找到新的市場增長點(diǎn),在市場變革中能夠起到的更大作用。盡管,他們單個(gè)對(duì)整個(gè)市場經(jīng)濟(jì)增長總額貢獻(xiàn)力度不大,但他們?cè)谑袌龀掷m(xù)創(chuàng)新中所起到的積極作用某些時(shí)候甚至要超過那些大規(guī)模的品牌企業(yè)。中小企業(yè)要在市場生存,更需要保持自身在技術(shù)或者市場上的前瞻性,因此中小企業(yè)在某些層面上對(duì)IT系統(tǒng)的需求程度更強(qiáng)烈。 目前,市面上能夠找到從中小企業(yè)實(shí)際應(yīng)用需求出發(fā),與中小企業(yè)業(yè)務(wù)結(jié)合程度很緊密的性能測試指標(biāo)系統(tǒng)少之又少?,F(xiàn)在市面上流行的性能測試指標(biāo),比如TPCC、SPEC、SAP SD,盡管歷史非常悠久,基準(zhǔn)測試實(shí)施和驗(yàn)核者都是世界范圍內(nèi)的權(quán)威機(jī)構(gòu),這些基準(zhǔn)測試的通用性也非常強(qiáng),但是他們由于對(duì)企業(yè)實(shí)際的個(gè)性化應(yīng)用需求關(guān)注不夠,對(duì)于中小型企業(yè)來說參考意義當(dāng)然也不會(huì)很大。因?yàn)?,不管從硬件和軟件考慮,中小企業(yè)的業(yè)務(wù)都有太多特殊性。從這個(gè)意義上來說,建立一套從中小企業(yè)實(shí)際應(yīng)用需求出發(fā)的實(shí)用性能評(píng)估系統(tǒng)對(duì)中小企業(yè)IT系統(tǒng)選型至關(guān)重要。而建立起這樣一套實(shí)用的性能評(píng)估的前提就是對(duì)TPCC、SPEC、SAP SD這些世界性通用性能指標(biāo)體系有一個(gè)更全面、更深入的了解。
TPCC
TPC-C是一種旨在衡量聯(lián)機(jī)事務(wù)處理(OLTP)系統(tǒng)性能與可伸縮性的行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測試項(xiàng)目。這種基準(zhǔn)測試項(xiàng)目將對(duì)包括查詢、更新及隊(duì)列式小批量事務(wù)在內(nèi)的廣泛數(shù)據(jù)庫功能進(jìn)行測試。許多IT專業(yè)人員將TPC-C視為衡量“真實(shí)”OLTP系統(tǒng)性能的有效指示器?! PC-C基準(zhǔn)測試針對(duì)一種模擬訂單錄入與銷售環(huán)境測量每分鐘商業(yè)事務(wù)(tpmC)吞吐量。特別值得一提的是,它將專門測量系統(tǒng)在同時(shí)執(zhí)行其它四種事務(wù)類型(如支付、訂單狀態(tài)更新、交付及證券級(jí)變更)時(shí)每分鐘所生成的新增訂單事務(wù)數(shù)量。獨(dú)立審計(jì)機(jī)構(gòu)將負(fù)責(zé)對(duì)基準(zhǔn)測試結(jié)果進(jìn)行公證,同時(shí),TPC將出據(jù)一份全面徹底的測試報(bào)告。這份測試報(bào)告可以從TPC Web站點(diǎn)(http://www.tpc.org)上獲得。
tpmC定義: TPC-C的吞吐量,按有效TPC-C配置期間每分鐘處理的平均交易次數(shù)測量,至少要運(yùn)行12分鐘。
1.TPC-C規(guī)范概要
TPC-C是專門針對(duì)聯(lián)機(jī)交易處理系統(tǒng)(OLTP系統(tǒng))的,一般情況下我們也把這類系統(tǒng)稱為業(yè)務(wù)處理系統(tǒng)。
TPC-C測試規(guī)范中模擬了一個(gè)比較復(fù)雜并具有代表意義的OLTP應(yīng)用環(huán)境:假設(shè)有一個(gè)大型商品批發(fā)商,它擁有若干個(gè)分布在不同區(qū)域的商品庫;每個(gè)倉庫負(fù)責(zé)為10個(gè)銷售點(diǎn)供貨;每個(gè)銷售點(diǎn)為3000個(gè)客戶提供服務(wù);每個(gè)客戶平均一個(gè)訂單有10項(xiàng)產(chǎn)品;所有訂單中約1%的產(chǎn)品在其直接所屬的倉庫中沒有存貨,需要由其他區(qū)域的倉庫來供貨。
該系統(tǒng)需要處理的交易為以下幾種:
New-Order:客戶輸入一筆新的訂貨交易;
Payment:更新客戶賬戶余額以反映其支付狀況;
Delivery:發(fā)貨(模擬批處理交易);
Order-Status:查詢客戶最近交易的狀態(tài);
Stock-Level:查詢倉庫庫存狀況,以便能夠及時(shí)補(bǔ)貨?!?br />
對(duì)于前四種類型的交易,要求響應(yīng)時(shí)間在5秒以內(nèi);對(duì)于庫存狀況查詢交易,要求響應(yīng)時(shí)間在20秒以內(nèi)
2.評(píng)測指標(biāo) TPC-C測試規(guī)范經(jīng)過兩年的研制,于1992年7月發(fā)布。幾乎所有在OLTP市場提供軟硬件平臺(tái)的廠商都發(fā)布了相應(yīng)的TPC-C測試結(jié)果,隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,這些測試結(jié)果也在不斷刷新。
TPC-C的測試結(jié)果主要有兩個(gè)指標(biāo):
● 流量指標(biāo)(Throughput,簡稱tpmC) 按照TPC的定義,流量指標(biāo)描述了系統(tǒng)在執(zhí)行Payment、Order-status、Delivery、Stock-Level這四種交易的同時(shí),每分鐘可以處理多少個(gè)New-Order交易。所有交易的響應(yīng)時(shí)間必須滿足TPC-C測試規(guī)范的要求?! ×髁恐笜?biāo)值越大越好!
● 性價(jià)比(Price/Performance,簡稱Price/tpmC) 即測試系統(tǒng)價(jià)格(指在美國的報(bào)價(jià))與流量指標(biāo)的比值。 性價(jià)比越小越好!
3.結(jié)果發(fā)布 各廠商的TPC-C測試結(jié)果都按TPC組織規(guī)定的兩種形式發(fā)布:測試結(jié)果概要(Executive Summary)和詳細(xì)測試報(bào)告(Full Disclosure Report)。測試結(jié)果概要中描述了主要的測試指標(biāo)、測試環(huán)境示意圖以及完整的系統(tǒng)配置與報(bào)價(jià),而詳細(xì)測試報(bào)告中除了包含上述內(nèi)容外,還詳細(xì)說明了整個(gè)測試環(huán)境的設(shè)置與測試過程。 。#p#page_title#e#
SPEC
什么是SPEC測試
SPEC(The Standard Performance Evaluation Corporation)標(biāo)準(zhǔn)性能評(píng)測機(jī)構(gòu),是國際上對(duì)系統(tǒng)應(yīng)用性能進(jìn)行標(biāo)準(zhǔn)評(píng)測的權(quán)威組織,它旨在確立、修改以及認(rèn)定一系列服務(wù)器應(yīng)用性能評(píng)估的標(biāo)準(zhǔn)。目前包括8大測試規(guī)范、26種測試模型?! ≡摻M織成立于1988年,是由斯坦福大學(xué)、清華大學(xué)、微軟、等全球幾十所知名大學(xué)、研究機(jī)構(gòu)、IT企業(yè)組成的第三方測試組織。SPEC經(jīng)過多年的發(fā)展積累,該測試標(biāo)準(zhǔn)得到了全球眾多用戶的廣泛認(rèn)可。
SPEC2004服務(wù)器應(yīng)用性能測試是一個(gè)全面衡量Web應(yīng)用中Java企業(yè)應(yīng)用服務(wù)器性能的基準(zhǔn)測試,是SPEC2002的升級(jí)版本,一個(gè)新的行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測試?! PEC2004測試采用JOPS(每秒總的操作次數(shù))作為測試結(jié)果的衡量標(biāo)準(zhǔn)(SPEC2002測試結(jié)果的衡量標(biāo)準(zhǔn)與此相同,但表示為TOPS),JOPS為訂單事務(wù)數(shù)加上制造工作訂單數(shù),再除以以秒為單位的測試時(shí)間。
SPEC2004與SPEC2002相比,具有實(shí)質(zhì)區(qū)別,它更為嚴(yán)格和完善,更為復(fù)雜。 SPEC2004 的測試模型基于一個(gè)規(guī)模龐大、極為復(fù)雜、足以代表現(xiàn)實(shí)世界電子商務(wù)系統(tǒng)的分布式應(yīng)用程序。模擬電子化業(yè)務(wù)工作模型體現(xiàn)了軟、硬件平臺(tái)整體解決方案的性能指標(biāo)全面衡量應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器硬件各子系統(tǒng)的性能被眾多用戶作為選擇硬件設(shè)備的選型指標(biāo)。
SPEC2004測試的價(jià)值 SPEC服務(wù)器應(yīng)用性能測試是目前業(yè)界最標(biāo)準(zhǔn)和權(quán)威的基準(zhǔn)測試之一。SPEC2004測試的對(duì)象是一個(gè)可以在實(shí)際中直接應(yīng)用的完整解決方案,包括硬件、操作系統(tǒng)和中間件三個(gè)層次。SPEC評(píng)測理念核心,即通過平臺(tái)及方案評(píng)測能夠給應(yīng)用提供具有重要參考意義的數(shù)據(jù),而不是為了評(píng)測而評(píng)測。SPEC測試完全模擬現(xiàn)實(shí)使用需求,講求參測系統(tǒng)整體上的性能和在實(shí)際應(yīng)用中的表現(xiàn),這樣用戶在購買產(chǎn)品的時(shí)候能夠根據(jù)SPEC的評(píng)測數(shù)據(jù)更真實(shí)地了解到自己選擇的產(chǎn)品到底在實(shí)際應(yīng)用中表現(xiàn)如何,而不再是只能看到一堆廠商提供的宣傳參數(shù)。
SPEC服務(wù)器應(yīng)用性能測試的測試成績可以為如下行業(yè)應(yīng)用的系統(tǒng)采購提供重要的參考指標(biāo)。
1. 銀行:銀行綜合業(yè)務(wù)系統(tǒng)、銀行證券交易系統(tǒng)、信用卡業(yè)務(wù)系統(tǒng)、綜合業(yè)務(wù)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)等
2. 金融證券:國稅統(tǒng)一稅收征管系統(tǒng)、基金注冊(cè)和交易系統(tǒng)平臺(tái)建設(shè)、證券集中交易系統(tǒng)
3. 保險(xiǎn):保險(xiǎn)企業(yè)綜合業(yè)務(wù)系統(tǒng)建設(shè)
4. 電信:電信計(jì)費(fèi)系統(tǒng)、綜合計(jì)費(fèi)帳務(wù)系統(tǒng)、客服系統(tǒng)平臺(tái)建設(shè)、用戶認(rèn)證和管理系統(tǒng)、移動(dòng)計(jì)費(fèi)營業(yè)系統(tǒng)、聯(lián)通綜合客服系統(tǒng)、寬帶運(yùn)維系統(tǒng)
5. 政府:大中型電子政務(wù)系統(tǒng)
SPECweb
SPECweb96: 在SPECweb96基準(zhǔn)測試程序上實(shí)現(xiàn)的每秒鐘超文本傳輸協(xié)議(HTTP)操作最多次數(shù),響應(yīng)時(shí)間無明顯退化?! PECweb99: 接入數(shù),網(wǎng)絡(luò)服務(wù)器可用預(yù)先確定的工作量支持的同時(shí)接入數(shù)。SPECweb99檢測設(shè)備模擬客戶通過慢Internet聯(lián)接,向網(wǎng)絡(luò)服務(wù)器發(fā)送HTTP工作量請(qǐng)求?! PECweb99 測試Web服務(wù)器運(yùn)行狀況
SPECweb99 是由標(biāo)準(zhǔn)性能評(píng)估組織(SPEC)開發(fā)的Web服務(wù)器基準(zhǔn)測試。它測量滿足特定吞吐量和客戶請(qǐng)求響應(yīng)速率要求的WEB服務(wù)器的最大并發(fā)連接數(shù)量。并發(fā)連接的合計(jì)波特率在320 Kbps到400Kbps范圍內(nèi),則滿足相應(yīng)規(guī)范?! PECweb99 在一臺(tái)稱為主客戶端的機(jī)器上運(yùn)行,這臺(tái)機(jī)器上包含有允許用戶加載特定負(fù)載請(qǐng)求的配置文件。主客戶端也要處理在客戶端和服務(wù)器或測試中的系統(tǒng)(SUT)之間的傳輸協(xié)調(diào)問題??蛻舳送ㄟ^許多子進(jìn)程/線程生成獨(dú)立HTTP請(qǐng)求流,仿真足夠的負(fù)載發(fā)送給SUT。
在這個(gè)測試中,客戶端向測試中的服務(wù)器發(fā)送請(qǐng)求數(shù)據(jù)。測試規(guī)范要求客戶端和服務(wù)器之間的連接不能使用片段大小大于1460比特的TCP協(xié)議。因此,每一個(gè)客戶端讀取1460比特或更少數(shù)據(jù)塊的響應(yīng)。
測試中使用兩種類型的負(fù)載量: 靜態(tài)負(fù)載. 靜態(tài)負(fù)載具有四種類型的文件。最小的文件的增幅為0.1KB,第二種文件類型的增幅為1KB,最后兩種類型的文件的增幅為10KB和100KB。每一個(gè)目錄包含每種類型9個(gè)文件共36個(gè)文件。
目標(biāo)請(qǐng)求的文件類型在各類型中分散使用。在每一類中的9個(gè)文件中又進(jìn)行二次分布。最終目標(biāo)文件混合為: 35%的請(qǐng)求文件小于1 KB 50%的請(qǐng)求文件小于10 KB 14%的請(qǐng)求文件小于100 KB,但是大于或等于10 KB 1%的請(qǐng)求文件小于1000 KB,但是大于或等于100 KB 動(dòng)態(tài)負(fù)載.動(dòng)態(tài)負(fù)載是基于廣告和用戶注冊(cè)。共有四種在SPECweb99中使用的請(qǐng)求內(nèi)容類型,分別是標(biāo)準(zhǔn)動(dòng)態(tài)取操作、動(dòng)態(tài)隨機(jī)取操作、動(dòng)態(tài)發(fā)送操作和客戶圖形接口動(dòng)態(tài)取操作。標(biāo)準(zhǔn)動(dòng)態(tài)取操作和客戶圖形接口動(dòng)態(tài)取操作表現(xiàn)web服務(wù)器的簡單廣告輪轉(zhuǎn)特性。帶有廣告輪轉(zhuǎn)的動(dòng)態(tài)取操作追蹤用戶和用戶選擇,所以廣告可以由不同的方式來定制。最終,動(dòng)態(tài)發(fā)布實(shí)施一個(gè)用戶注冊(cè)在相應(yīng)的網(wǎng)站上。
SAP SD
SAP R/3銷售與分銷(SD)強(qiáng)調(diào)用世界一流的方法服務(wù)于全世界用戶。銷售與分銷(SD)是一種處理過程驅(qū)動(dòng)的應(yīng)用,全面集成于R/3系統(tǒng)中。作為面向真實(shí)企業(yè)系統(tǒng)運(yùn)行性能的關(guān)鍵性衡量方式,SAP SD基準(zhǔn)測試將模擬系統(tǒng)在維持可接受響應(yīng)時(shí)間的情況下所能處理的最大并行用戶數(shù)量。SAP SD基準(zhǔn)測試是業(yè)內(nèi)最為消耗CPU的基準(zhǔn)測試項(xiàng)目之一,它已成為一種面向SAP運(yùn)行環(huán)境合作伙伴的標(biāo)準(zhǔn)測試方式。這項(xiàng)基準(zhǔn)測試由18個(gè)用于反映指定商業(yè)事務(wù)的步驟組成。SAP R/3系統(tǒng)采用具備數(shù)據(jù)庫層、應(yīng)用層和表示層的客戶端/服務(wù)器體系結(jié)構(gòu)。這項(xiàng)測試所采用的配置方案為三層結(jié)構(gòu),其中每一層均在相互獨(dú)立的系統(tǒng)上運(yùn)行。
并發(fā)性能測試的過程是一個(gè)負(fù)載測試和壓力測試的過程,即逐漸增加負(fù)載,直到系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),通過綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來確定系統(tǒng)并發(fā)性能的過程。負(fù)載測試(Load Testing)是確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)組成部分的相應(yīng)輸出項(xiàng),例如通過量、響應(yīng)時(shí)間、CPU負(fù)載、內(nèi)存使用等來決定系統(tǒng)的性能。負(fù)載測試是一個(gè)分析軟件應(yīng)用程序和支撐架構(gòu)、模擬真實(shí)環(huán)境的使用,從而來確定能夠接收的性能過程。壓力測試(Stress Testing)是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測試。 透過以上敘述,我們可以看到不管是TPCC、SPEC還是SAP SD,他們的測試時(shí)的所使用的業(yè)務(wù)邏輯都是非常清晰,測試過程非常嚴(yán)格,因此從定量的指標(biāo)來看,具有非常好的普遍性。但測試過程中對(duì)測試的硬件、軟件平臺(tái)要求都非常高,而且測試過程中所所模擬的應(yīng)用環(huán)境跟那些獨(dú)立的、特殊的企業(yè)應(yīng)用需求都有較大差異,而且大多數(shù)測試都是由國際性的領(lǐng)導(dǎo)廠商做出的,這些國際性廠商在測試環(huán)境配置和專業(yè)測試工程師配備上都有得天獨(dú)厚的便利。而這一切便利是不可能完全原封不動(dòng)得保留到終端用戶手中。換句話說,終端用戶即使購買了與測試過程中同樣的硬件平臺(tái),并且搭建了同樣的軟件環(huán)境,但是要在實(shí)際應(yīng)用中跑出同樣的benchmark,那就好比用訓(xùn)練奧運(yùn)冠軍的方式同樣訓(xùn)練一個(gè)普通人然后指望他到奧運(yùn)賽場上取得奧運(yùn)金牌一樣荒唐?! ∫虼?,如何從企業(yè)的實(shí)際應(yīng)用需求出發(fā),在企業(yè)現(xiàn)有的預(yù)算條件和技術(shù)人才配備的條件下,去擬合與企業(yè)現(xiàn)實(shí)應(yīng)用環(huán)境來選擇最貼近的測試場景,同時(shí)吸納TPCC、SPEC、SAP SD這些專有測試在測試過程的嚴(yán)密性及可靠性方面的優(yōu)勢(shì),對(duì)指導(dǎo)中小企業(yè)IT系統(tǒng)選型至關(guān)重要。