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