《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于應(yīng)用性能表現(xiàn)的通用基礎(chǔ)軟件選型方法
一種基于應(yīng)用性能表現(xiàn)的通用基礎(chǔ)軟件選型方法
來源:微型機(jī)與應(yīng)用2013年第11期
覃文闖,胡一鳴,杜蘇妮
(國家應(yīng)用軟件產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心,北京 100193)
摘要: 闡述了一種基于應(yīng)用性能表現(xiàn)的通用基礎(chǔ)軟件選型的方法。介紹了基于應(yīng)用系統(tǒng)性能為基準(zhǔn),對(duì)數(shù)據(jù)庫和應(yīng)用中間件進(jìn)行選型比對(duì)。
Abstract:
Key words :

摘  要: 闡述了一種基于應(yīng)用性能表現(xiàn)的通用基礎(chǔ)軟件選型的方法。介紹了基于應(yīng)用系統(tǒng)性能為基準(zhǔn),對(duì)數(shù)據(jù)庫應(yīng)用中間件進(jìn)行選型比對(duì)。
關(guān)鍵詞: 應(yīng)用系統(tǒng);數(shù)據(jù)庫;應(yīng)用中間件;選型

 傳統(tǒng)的數(shù)據(jù)庫選型和應(yīng)用中間件選型測(cè)試通常是基于Benchmark的一些基準(zhǔn)測(cè)試工具。這些測(cè)試工具集通常都是第三方非盈利組織提供的,目前常用的基準(zhǔn)測(cè)試工具集有TPC[1]、SPEC[2]、LINKPACK、EISPACK、LAPACK、NPB、HPCC、IOzone、LMbench等。
 TPC和SPEC是數(shù)據(jù)庫和應(yīng)用中間件最常用的測(cè)試基準(zhǔn)工具,而其中的TPC-C[3]和SPECjserver2004[4]通常被選擇用于數(shù)據(jù)庫和Java應(yīng)用服務(wù)器的性能基準(zhǔn)測(cè)試工具,這兩個(gè)基準(zhǔn)測(cè)試結(jié)果在國際上也有很好的認(rèn)同。這些結(jié)果能客觀反映數(shù)據(jù)庫和應(yīng)用中間件本身的性能情況。
 但是上述基準(zhǔn)測(cè)試都是基于仿真業(yè)務(wù),對(duì)于某個(gè)特定的應(yīng)用系統(tǒng),基準(zhǔn)結(jié)果往往和在特定應(yīng)用系統(tǒng)中的表現(xiàn)有很大差異。所以本文探求一種基于真實(shí)業(yè)務(wù)應(yīng)用系統(tǒng)的業(yè)務(wù)模型作為基準(zhǔn),對(duì)不同數(shù)據(jù)庫和應(yīng)用中間件進(jìn)行選型測(cè)試,通過其在真實(shí)業(yè)務(wù)應(yīng)用系統(tǒng)的表現(xiàn)更客觀地反映針對(duì)該特定應(yīng)用系統(tǒng)、數(shù)據(jù)庫和應(yīng)用中間件達(dá)到的最佳能效比。
1 傳統(tǒng)Benchmark測(cè)試的問題
 傳統(tǒng)的基于第三方非盈利機(jī)構(gòu)的Benchmark測(cè)試工具集測(cè)試是基于一個(gè)模擬的業(yè)務(wù)模型進(jìn)行測(cè)試。以最常見的TPC-C測(cè)試為例,關(guān)于TPC-C的基準(zhǔn)規(guī)范業(yè)務(wù)模式,此規(guī)范描述的是一個(gè)大型的商品批發(fā)銷售公司,它擁有若干個(gè)分布在不同區(qū)域的商品倉庫。當(dāng)業(yè)務(wù)擴(kuò)展的時(shí)候,公司將添加新的倉庫。每個(gè)倉庫負(fù)責(zé)為10個(gè)銷售點(diǎn)供貨,其中每個(gè)銷售點(diǎn)為3 000個(gè)客戶提供服務(wù)。每個(gè)客戶提交的訂單中,平均每個(gè)訂單有10項(xiàng)產(chǎn)品,所有訂單中約1%的產(chǎn)品在其直接所屬的倉庫中沒有存貨,必須由其他區(qū)域的倉庫來供貨。同時(shí),每個(gè)倉庫都要維護(hù)公司銷售的100 000種商品的庫存記錄。但是對(duì)于這個(gè)基準(zhǔn),TPC不給出基準(zhǔn)程序的代碼,只給出基準(zhǔn)程序的標(biāo)準(zhǔn)規(guī)范。即允許任何廠家或其他測(cè)試者構(gòu)造出符合自己硬件或者軟件環(huán)境的被測(cè)應(yīng)用,這個(gè)被測(cè)試的應(yīng)用只要符合這個(gè)規(guī)范就可以。
 TPC-C測(cè)試的結(jié)果主要有兩個(gè)指標(biāo),即流量指標(biāo)(Throughput,簡稱tpmC)和性價(jià)比(Price/Performance,簡稱Price/tpmC)。流量指標(biāo)值越大,說明系統(tǒng)的聯(lián)機(jī)事務(wù)處理能力越高。性價(jià)比測(cè)試系統(tǒng)的整體價(jià)格與流量指標(biāo)的比值,在獲得相同的tpmC值的情況下,價(jià)格越低越好。
 TPC-C的指標(biāo)僅表明當(dāng)前被測(cè)試環(huán)境作為一個(gè)有機(jī)整體,處理符合TPC-C規(guī)范、模擬OLTP的商品批發(fā)銷售公司應(yīng)用的性能情況。不能離開這個(gè)整體去判讀TPC-C數(shù)據(jù)。這個(gè)有機(jī)整體包含硬件系統(tǒng),如主機(jī)設(shè)備、網(wǎng)絡(luò)設(shè)備、存儲(chǔ)設(shè)備;軟件系統(tǒng)如數(shù)據(jù)庫、應(yīng)用軟件、廠商自己開發(fā)的TPC-C模型;以及技術(shù)支持服務(wù),如架構(gòu)設(shè)計(jì)優(yōu)化、程序優(yōu)化、參數(shù)優(yōu)化等。
 用戶實(shí)際的應(yīng)用系統(tǒng)通常與軟件廠商測(cè)試時(shí)的TPCC模型有差異(如業(yè)務(wù)邏輯、使用習(xí)慣、數(shù)據(jù)量等等方面)。所以客戶應(yīng)用系統(tǒng)的性能即使部署在廠商當(dāng)時(shí)測(cè)試TPCC應(yīng)用的環(huán)境上,TPPC值也會(huì)有差異的。
因此僅靠TPCC值進(jìn)行軟件選型是不充分、不全面的。
2 基于真實(shí)應(yīng)用系統(tǒng)的選型測(cè)試
 傳統(tǒng)基于Benchmark測(cè)試結(jié)果的選型測(cè)試,由于測(cè)試模型和真實(shí)業(yè)務(wù)有區(qū)別,選型測(cè)試的結(jié)果往往不能保證所選數(shù)據(jù)庫或者中間件的表現(xiàn)與測(cè)試結(jié)果相符。業(yè)務(wù)模型的差異因子是結(jié)果偏差的主要影響因子。區(qū)別于傳統(tǒng)的Benchmark測(cè)試,基于真實(shí)應(yīng)用系統(tǒng)的選型測(cè)試模型是真實(shí)的業(yè)務(wù)模型,從業(yè)務(wù)模型的真實(shí)性上避免了業(yè)務(wù)模型差異產(chǎn)生的比對(duì)選型誤差。該方法的思想是在相同的測(cè)試基準(zhǔn)下,針對(duì)相同的業(yè)務(wù)應(yīng)用模型,進(jìn)行相同測(cè)試的性能測(cè)試,通過時(shí)間特性和資源利用性兩個(gè)方面進(jìn)行選型評(píng)價(jià)。
3 選型測(cè)試案例說明
 通過一個(gè)實(shí)際的業(yè)務(wù)系統(tǒng)選型測(cè)試,介紹了基于應(yīng)用性能表現(xiàn)進(jìn)行通用基礎(chǔ)軟件選型的實(shí)踐。選型委托方是某機(jī)構(gòu)的核心業(yè)務(wù)軟件,該系統(tǒng)完全基于J2EE規(guī)范開發(fā)的B/S架構(gòu)的應(yīng)用系統(tǒng),數(shù)據(jù)庫符合美國國家標(biāo)準(zhǔn)學(xué)會(huì)(ANSI)SQL 2003的關(guān)系型數(shù)據(jù)庫。根據(jù)上述基本要求,本次選型測(cè)試涉及5個(gè)中間件和4種數(shù)據(jù)庫。選型組合矩陣關(guān)系如表1所示。

 根據(jù)上述組合,分別采用相同的性能測(cè)試腳本進(jìn)行相同場(chǎng)景設(shè)置的綜合場(chǎng)景測(cè)試,測(cè)試點(diǎn)包含了系統(tǒng)的4個(gè)典型操作功能點(diǎn),場(chǎng)景持續(xù)運(yùn)行時(shí)間為2 h。為嚴(yán)格保證測(cè)試的基準(zhǔn)一致性,確保測(cè)試相對(duì)公平公正,基準(zhǔn)一致性應(yīng)包含5個(gè)部分內(nèi)容要求:
?。?)操作系統(tǒng)基準(zhǔn)一致性要求:數(shù)據(jù)庫服務(wù)器操作系統(tǒng)為AIX 5.3.0.8,應(yīng)用數(shù)據(jù)庫服務(wù)器操作系統(tǒng)為Redhat AS 5.4 64 bit kernel2.6.1.8_164.el5,負(fù)載均衡服務(wù)器操作系統(tǒng)為Redhat AS 5.4 64 bit kernel2.6.1.8_164.el5;
?。?)其他相關(guān)軟件版本一致;
?。?)硬件環(huán)境一致;
?。?)測(cè)試策略與測(cè)試壓力的一致性:測(cè)試中執(zhí)行相同的測(cè)試策略,對(duì)腳本和場(chǎng)景運(yùn)行的設(shè)置保持一致;
?。?)數(shù)據(jù)一致性要求:測(cè)試環(huán)境的數(shù)據(jù)容量保持一致,數(shù)據(jù)庫的數(shù)據(jù)記錄數(shù)量和數(shù)據(jù)內(nèi)容保持一致。
3.1 效率評(píng)價(jià)模型說明
 以貼近系統(tǒng)實(shí)際使用情況為選擇依據(jù),本次測(cè)試的綜合場(chǎng)景測(cè)試最貼近用戶的真實(shí)使用情況。所以本評(píng)價(jià)模型的數(shù)據(jù)基礎(chǔ)來源于綜合場(chǎng)景測(cè)試的測(cè)試結(jié)果數(shù)據(jù)。評(píng)價(jià)模型包括時(shí)間特性和資源利用性,具體計(jì)算權(quán)值可以根據(jù)業(yè)務(wù)需要進(jìn)行相應(yīng)調(diào)整,本次評(píng)價(jià)權(quán)值僅供參考。評(píng)價(jià)模型說明如圖1所示,評(píng)分說明如表2所示。

?。?)效率評(píng)價(jià)總得分=時(shí)間特性總得分×0.6+資料利用性得分×0.4
?。?)時(shí)間特性總體得分計(jì)算說明:
時(shí)間特性得分=(功能點(diǎn)1×0.125+功能點(diǎn)2×0.125+功能點(diǎn)3×0.125+功能點(diǎn)4×0.125)+總體吞吐量得分×0.5
?。?)資源利用性得分計(jì)算說明:
 資源利用性得分=(數(shù)據(jù)庫CPU占用得分+應(yīng)用服務(wù)器CPU占用得分)/2
3.2 選型評(píng)價(jià)結(jié)果
 根據(jù)8個(gè)環(huán)境測(cè)試的詳細(xì)結(jié)果,依據(jù)上述評(píng)價(jià)模型和評(píng)分說明進(jìn)行總體的選型評(píng)價(jià),得分如圖2所示。

 

 

 依據(jù)上述評(píng)價(jià)結(jié)果,編號(hào)4、5、6、7的得分高于95分,可以結(jié)合采購成本綜合考慮最終的軟件選型。
本文介紹了一種基于應(yīng)用性能表現(xiàn)的通用基礎(chǔ)軟件選型方法,此方法基于真實(shí)的業(yè)務(wù)應(yīng)用模型,采用相同的測(cè)試約束和統(tǒng)一的評(píng)價(jià)模型,相對(duì)于傳統(tǒng)基于基準(zhǔn)測(cè)試工具進(jìn)行選型更具有針對(duì)性,是對(duì)選型測(cè)試的一種方法補(bǔ)充。
參考文獻(xiàn)
[1] TPC Benchmark Testing[EB/OL]. [2012-12-10]. http://www.tpc.org/information/benchmarks.asp.
[2] SPEC Standard Performance Evaluation[EB/OL]. [2012-12-10]. http://www.spec.org.
[3] TPC-C Benchmark Testing[EB/OL]. [2012-12-20].http://www.tpc.org/tpcc.
[4] SPECjAppServer2004[EB/OL]. [2012-12-20].http://www.spec.org/jAppServer2004.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。