【摘要】 隨著電信運(yùn)營(yíng)商應(yīng)用系統(tǒng)的規(guī)模越來(lái)越大、用戶越來(lái)越多,如何準(zhǔn)確地評(píng)估應(yīng)用系統(tǒng)的性能帶來(lái)了很大的挑戰(zhàn)。本文就如何準(zhǔn)確地針對(duì)電信運(yùn)營(yíng)商的應(yīng)用系統(tǒng),設(shè)計(jì)負(fù)載測(cè)試策略進(jìn)行了深入研究,提出了基于TPS模型的性能測(cè)試,并描述了基于TPS模型的性能測(cè)試實(shí)施流程。
【關(guān)鍵詞】 性能測(cè)試 TPS模型 負(fù)載策略
一、引言
隨著用戶越來(lái)越多地依賴于WEB應(yīng)用系統(tǒng),如何對(duì)應(yīng)用系統(tǒng)進(jìn)行測(cè)試成為日益迫切的問(wèn)題,但由于WEB應(yīng)用的復(fù)雜性和不可預(yù)測(cè)性,使得性能測(cè)試難度較大。
二、基于TPS模型的性能測(cè)試實(shí)施過(guò)程
性能測(cè)試的實(shí)施需要經(jīng)過(guò)需求分析、測(cè)試準(zhǔn)備、測(cè)試執(zhí)行和測(cè)試報(bào)告等幾個(gè)重要階段,在此我們重要介紹需求分析的業(yè)務(wù)模型的建立,準(zhǔn)備階段測(cè)試環(huán)境的準(zhǔn)備,測(cè)試執(zhí)行階段TPS模型使用。
2.1 業(yè)務(wù)模型建立
用戶對(duì)系統(tǒng)性能的關(guān)注往往集中在少數(shù)幾個(gè)業(yè)務(wù)活動(dòng)上,對(duì)于已經(jīng)上線商用的業(yè)務(wù)支撐系統(tǒng),采用系統(tǒng)日志分析法,分析出用戶最關(guān)注、最常用的業(yè)務(wù)功能。
2.1.1 業(yè)務(wù)數(shù)據(jù)采集與預(yù)處理
按照固定模版采集近半年的業(yè)務(wù)數(shù)據(jù),粒度為15分鐘。對(duì)業(yè)務(wù)數(shù)據(jù)的格式進(jìn)行處理,保證顆粒度、時(shí)間維度的正確。同時(shí),需要對(duì)業(yè)務(wù)進(jìn)行簡(jiǎn)單的歸類,去除業(yè)務(wù)之間的包含關(guān)系。
2.1.2 業(yè)務(wù)建模
首先,按照15分鐘的粒度,對(duì)15分鐘的所有業(yè)務(wù)量進(jìn)行求和,并按照業(yè)務(wù)量排序,得出15分鐘業(yè)務(wù)量的排序情況;為了忽略業(yè)務(wù)量變化對(duì)系統(tǒng)處理能力的影響,我們選取15分鐘業(yè)務(wù)量最大的前100的數(shù)據(jù)進(jìn)行分析;其次,我們按照業(yè)務(wù)類型對(duì)前100的數(shù)據(jù)合并,并求和、取平均,得到按照業(yè)務(wù)類型對(duì)應(yīng)的業(yè)務(wù)量;接著,我們按照業(yè)務(wù)量排序,并計(jì)算每支業(yè)務(wù)的占比,篩選出占比之和在80%-90%左右的業(yè)務(wù)類型;最后,根據(jù)篩選的業(yè)務(wù),并對(duì)比例進(jìn)行調(diào)整,完成業(yè)務(wù)模型的建立。在篩選業(yè)務(wù)時(shí),需根據(jù)業(yè)務(wù)的重要性、重量級(jí)和使用頻率進(jìn)行靈活調(diào)整。
2.2 制定測(cè)試目標(biāo)
分析系統(tǒng)的最大處理能力,使用最大的15分鐘業(yè)務(wù)量/15/60s,即生產(chǎn)系統(tǒng)的TPS,再根據(jù)測(cè)試環(huán)境和生產(chǎn)環(huán)境的差異,可得到目標(biāo)TPS。同時(shí),也可分析得到每支業(yè)務(wù)的最大TPS,判斷每支業(yè)務(wù)是否達(dá)到了目標(biāo)TPS。同時(shí),需要指定響應(yīng)時(shí)間、資源消耗等指標(biāo)值,滿足性能需求。
2.3 測(cè)試環(huán)境的準(zhǔn)備
測(cè)試環(huán)境的準(zhǔn)備包括測(cè)試工具、被測(cè)系統(tǒng)和測(cè)試數(shù)據(jù)的準(zhǔn)備,在此,主要介紹測(cè)試環(huán)境的準(zhǔn)備工作。測(cè)試環(huán)境與生產(chǎn)環(huán)境的相似度越高越能正確的反映生產(chǎn)系統(tǒng)的性能情況,但構(gòu)建一套同等規(guī)模的測(cè)試環(huán)境會(huì)成本相當(dāng)高,搭建縮小版的測(cè)試環(huán)境應(yīng)遵循以下原則:(1)測(cè)試環(huán)境與生產(chǎn)環(huán)境系統(tǒng)架構(gòu)相同,可使用低配置或者減少機(jī)器臺(tái)數(shù)的情況;(2)測(cè)試環(huán)境和生產(chǎn)環(huán)境操作系統(tǒng)、各軟件版本相同;(3)測(cè)試環(huán)境與生產(chǎn)環(huán)境選擇同一廠商同一系列機(jī)型;(4)測(cè)試環(huán)境和生產(chǎn)環(huán)境的各軟件參數(shù)類似。
2.4 基于TPS模型測(cè)試執(zhí)行
基于TPS的模型的負(fù)載配置方法,是基于系統(tǒng)的目標(biāo)TPS,以及業(yè)務(wù)的辦理時(shí)間,反向推導(dǎo)并發(fā)用戶數(shù)的一種壓力負(fù)載配置策略,使應(yīng)用系統(tǒng)的測(cè)試結(jié)果符合業(yè)務(wù)模型的預(yù)期。TPS模型的基本計(jì)算步驟如下:(1)設(shè)定目標(biāo)TPS;(2)依次對(duì)每一只業(yè)務(wù)進(jìn)行如下步驟:①選取一支業(yè)務(wù),單用戶執(zhí)行該業(yè)務(wù)100次,獲取該業(yè)務(wù)的響應(yīng)時(shí)間,即得到每支業(yè)務(wù)的基準(zhǔn)響應(yīng)時(shí)間ART1;②根據(jù)基準(zhǔn)響應(yīng)時(shí)間ART1,計(jì)算基準(zhǔn)TPS1,TPS1=1/ART1;③根據(jù)綜合場(chǎng)景目標(biāo)TPS以及該業(yè)務(wù)占比,計(jì)算該業(yè)務(wù)應(yīng)達(dá)到目標(biāo)TPS2=TPS*占比;④根據(jù)基準(zhǔn)TPS1和目標(biāo)TPS2,計(jì)算虛擬用戶數(shù),即Vuser1=TPS2/TPS1,對(duì)Vuser1取整得到Vuser;⑤根據(jù)Vuser和目標(biāo)TPS2,計(jì)算基準(zhǔn)TPS12=TPS2/Vuser;⑥根據(jù)TPS12,計(jì)算基準(zhǔn)響應(yīng)時(shí)間ART2=1/TPS12;⑦計(jì)算延遲時(shí)間delayTime=ART2-ART1;(3)根據(jù)步驟2得到的并發(fā)用戶數(shù)和延遲時(shí)間,設(shè)置測(cè)試場(chǎng)景;(4)測(cè)試后,如測(cè)試結(jié)果某交易的平均響應(yīng)時(shí)間與基準(zhǔn)ART1的值相差較大,則替換基準(zhǔn)ART1值,重復(fù)步驟2,直至兩者相差10%左右。
三、結(jié)束語(yǔ)
本文針對(duì)電信運(yùn)營(yíng)商的應(yīng)用系統(tǒng)提出TPS模型,該模型通過(guò)應(yīng)用系統(tǒng)的目標(biāo)TPS和業(yè)務(wù)模型計(jì)算虛擬用戶數(shù),進(jìn)而從前臺(tái)發(fā)起相應(yīng)的業(yè)務(wù)辦理,使測(cè)試結(jié)果更加符合生產(chǎn)系統(tǒng)的實(shí)際情況,真實(shí)評(píng)估被測(cè)系統(tǒng)的性能情況,使每支業(yè)務(wù)都能達(dá)到目標(biāo)TPS。
參 考 文 獻(xiàn)
[1] 浦云明. Web應(yīng)用系統(tǒng)負(fù)載測(cè)試 [J]. 計(jì)算機(jī)應(yīng)用與軟件,2009(11)
[2] 段念,軟件性能測(cè)試過(guò)程詳解與案例剖析[M]. 北京:清華大學(xué)出版社,2012