1.揭開基準(zhǔn)測(cè)試神秘面紗
基準(zhǔn)測(cè)試作為度量計(jì)算機(jī)系統(tǒng)性能和價(jià)格的一種手段,逐漸為軟件測(cè)試界所認(rèn)識(shí)和熟悉。之所以認(rèn)為基準(zhǔn)測(cè)試很神秘,一是對(duì)其沒有全面清晰的認(rèn)識(shí),二是不知道如何去實(shí)踐。目前有兩大基準(zhǔn)體系:TPC和SPEC。
(一) TPC
TPC(Transaction Processing Performance Council,事務(wù)處理性能委員會(huì))組織的功能是制定商務(wù)應(yīng)用基準(zhǔn)程序(Benchmark)的標(biāo)準(zhǔn)規(guī)范、性能和價(jià)格度量,并管理測(cè)試結(jié)果的發(fā)布。TPC不給出基準(zhǔn)測(cè)試程序的代碼,而只給出基準(zhǔn)測(cè)試程序的標(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à)格和包含五年維護(hù)費(fèi)用在內(nèi)的總價(jià)格。該報(bào)告必須由TPC授權(quán)的審核員核實(shí),通過后的結(jié)果會(huì)公開發(fā)布,這樣得到的結(jié)果作為廠家所謂的標(biāo)稱值。TPC先后推出了多套基準(zhǔn)程序的規(guī)范,其中TPC-C在線事務(wù)處理的基準(zhǔn)程序認(rèn)可度和使用率最高,主要性能指標(biāo)單位tpmc(transactions per minute),即每分鐘處理的事務(wù)數(shù);C指TPC中的C基準(zhǔn)程序。價(jià)格是指系統(tǒng)的總價(jià)格,單位是美元,而價(jià)格性能比則定義為總價(jià)格/性能,單位是$/tpmc。
(二)SPEC
與TPC體系注重在線處理能力和數(shù)據(jù)庫查詢能力不同,SPEC (the Standard Performance Evaluation Corporation標(biāo)準(zhǔn)性能評(píng)估機(jī)構(gòu))服務(wù)器應(yīng)用性能測(cè)試是一個(gè)全面衡量Web應(yīng)用中java企業(yè)應(yīng)用服務(wù)器性能的基準(zhǔn)測(cè)試。在這個(gè)基準(zhǔn)測(cè)試中,系統(tǒng)模擬一個(gè)現(xiàn)代化企業(yè)的電子化業(yè)務(wù)工作,如客戶定購查詢、產(chǎn)品生產(chǎn)制造管理、供應(yīng)商和服務(wù)器提供商管理等,給系統(tǒng)以巨大的負(fù)載,以全面測(cè)試運(yùn)行典型java業(yè)務(wù)應(yīng)用的服務(wù)器性能水平。由于它體現(xiàn)了軟、硬件平臺(tái)的性能和成本指標(biāo),被金融、電信、證券等關(guān)鍵行業(yè)用戶作為選擇IT系統(tǒng)一項(xiàng)權(quán)威的選型基準(zhǔn)測(cè)試指標(biāo)。
以上兩大基準(zhǔn)體系只是提供了規(guī)范和基準(zhǔn)程序,似乎離我們還是很遙遠(yuǎn),更多時(shí)候只有實(shí)力雄厚的廠商會(huì)完全按照這些規(guī)范來實(shí)施測(cè)試,最終將測(cè)試結(jié)果在國際上公布,作為其產(chǎn)品的銷售賣點(diǎn)。那么我們?nèi)绾卧趯?shí)踐中運(yùn)用或者借鑒這些標(biāo)準(zhǔn),作為我們的軟硬件選型提供依據(jù)呢? 這將引入基準(zhǔn)測(cè)試的“本土化”問題。
2.為何要將基準(zhǔn)測(cè)試“本土化”
就企業(yè)對(duì)服務(wù)器選型來說,僅僅靠“國際通用”的度量作為選型依據(jù)是不夠的,因?yàn)榉?wù)器最終要服務(wù)于特定的軟硬件環(huán)境下,不同的網(wǎng)絡(luò)、數(shù)據(jù)庫及應(yīng)用系統(tǒng)等,服務(wù)器的表現(xiàn)性能都會(huì)有差異,因此在進(jìn)行性能評(píng)價(jià)時(shí),通用的度量有可能不夠準(zhǔn)確,可以作為參考,但不是選型的唯一依據(jù)。從另外一個(gè)角度,我們可以借鑒基準(zhǔn)測(cè)試的思想,根據(jù)實(shí)際情況進(jìn)行定制統(tǒng)一的規(guī)則,來橫向比較服務(wù)器的處理能力,或者說將基準(zhǔn)測(cè)試進(jìn)行“本土化”。下面就中國移動(dòng)服務(wù)器選型測(cè)試來介紹如何去實(shí)踐基準(zhǔn)測(cè)試。
3.最佳實(shí)踐——中國移動(dòng)服務(wù)器選型分析
由于業(yè)務(wù)不斷擴(kuò)展,中國移動(dòng)每年需要對(duì)小型機(jī)服務(wù)器、存儲(chǔ)設(shè)備等集中采購,對(duì)于眾多投標(biāo)設(shè)備,應(yīng)該如何選擇并對(duì)設(shè)備劃分檔次成為迫切需要解決的問題。廠商提供的TPC或SPEC標(biāo)稱值只能在某些程度上反應(yīng)設(shè)備的處理能力,但是這些測(cè)試結(jié)果是一個(gè)國際通用的結(jié)果,與中國移動(dòng)的業(yè)務(wù)關(guān)系不大,因此需要重新定義測(cè)試的評(píng)價(jià)標(biāo)準(zhǔn)。通過選取統(tǒng)一的性能評(píng)價(jià)標(biāo)準(zhǔn),對(duì)所有的小型機(jī)服務(wù)器,在相同業(yè)務(wù)、相同環(huán)境下進(jìn)行性能綜合測(cè)試,評(píng)價(jià)各款服務(wù)器在相同性能壓力模型下獲得的最大處理能力。
3.1測(cè)試內(nèi)容
小型機(jī)服務(wù)器的性能測(cè)試選取中國移動(dòng)的業(yè)務(wù)支撐系統(tǒng),簡稱BOSS,作為本次測(cè)試的軟件系統(tǒng),根據(jù)交易量規(guī)模、交易處理類型從中抽取若干個(gè)關(guān)鍵交易,實(shí)施壓力測(cè)試,結(jié)果作為此次小型機(jī)性能評(píng)估依據(jù)。業(yè)務(wù)選取原則是:
a) 業(yè)務(wù)交易量較大,對(duì)BOSS性能產(chǎn)生較大影響;
b) 充分考慮不同業(yè)務(wù)處理方式的性能影響,如對(duì)數(shù)據(jù)庫增、刪、改、查操作;
基于以上原則,抽取如下業(yè)務(wù),作為被測(cè)對(duì)象:
1) 開戶;
2) 詳單查詢;
3) 營業(yè)繳費(fèi);
4) 資費(fèi)變更;
3.2測(cè)試方法
對(duì)每款小型機(jī)服務(wù)器,主要利用Loadrunner自動(dòng)化測(cè)試工具,通過模擬大量虛擬用戶對(duì)上述典型業(yè)務(wù)操作,不斷對(duì)服務(wù)器進(jìn)行負(fù)載壓力測(cè)試,直至響應(yīng)延遲不能滿足要求的性能點(diǎn),確定此時(shí)服務(wù)器的交易執(zhí)行指標(biāo)和各項(xiàng)資源監(jiān)控指標(biāo),從而綜合比較各款服務(wù)器的性能情況。測(cè)試場(chǎng)景如下:
壓力測(cè)試將上述業(yè)務(wù)按比例混合后,在一個(gè)場(chǎng)景中進(jìn)行負(fù)載壓力測(cè)試,它們各自的業(yè)務(wù)比例和響應(yīng)時(shí)間的要求如下:
在測(cè)試終止條件以不斷加壓的方式,直至響應(yīng)延遲不能滿足要求的性能點(diǎn),作為終止條件。其中,判斷“響應(yīng)延遲滿足要求?”是由以下公式?jīng)Q定。
當(dāng)“時(shí)延加權(quán)值”大于90%,表示壓力測(cè)試成功;反之,則表示壓力已經(jīng)超過了被測(cè)設(shè)備的性能上限。
測(cè)試過程分為兩個(gè)階段,第一階段中設(shè)置一個(gè)較大的步長,測(cè)試出被測(cè)設(shè)備的大致性能范圍。其中,初始值可以由參測(cè)廠家的工程師指定。第二階段中將在最后兩步中尋找被測(cè)設(shè)備準(zhǔn)確的性能,精度為10個(gè)用戶。測(cè)試壓力模型如下:
3.3測(cè)試環(huán)境