【摘 要】軟件的性能是企業(yè)衡量軟件系統(tǒng)的一項重要指標,也是評價軟件質(zhì)量的重要標準之一。本文以某企業(yè)應(yīng)用系統(tǒng)為例,詳細總結(jié)了基于LoadRunner的性能測試流程中的任務(wù)和方法,此類方法對各類應(yīng)用系統(tǒng)的性能測試均具有指導(dǎo)性意義。
【關(guān)鍵詞】性能測試;平均系統(tǒng)響應(yīng)時間;資源占用率
一、LoadRunner工作原理和衡量指標
(1)工作原理。LoadRunner是一款能夠預(yù)測系統(tǒng)性能的性能測試工具,通過模擬上千萬用戶實際并發(fā)和負載情形,向服務(wù)器發(fā)送請求,截獲客戶端和服務(wù)器之間的通訊數(shù)據(jù)包,檢測服務(wù)器的響應(yīng)。同時實時監(jiān)控目標服務(wù)器的性能指標,以便通過分析和查找,判斷瓶頸所在。(2)衡量指標。在使用LoadRunner進行性能測試過程中,系統(tǒng)性能測試指標是衡量系統(tǒng)性能的直觀數(shù)據(jù),常用衡量指標有以下幾項:一是平均系統(tǒng)響應(yīng)時間。該指標為衡量系統(tǒng)性能的最重要最常用指標之一,指從客戶端發(fā)出請求到接到服務(wù)端返回的數(shù)據(jù)所消耗的時間,系統(tǒng)響應(yīng)時間包括應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器和網(wǎng)絡(luò)傳輸?shù)雀鱾€組件的時間之和,而用戶感受到的響應(yīng)時間為平均系統(tǒng)響應(yīng)時間加上客戶端界面呈現(xiàn)時間之和,其客戶端的界面呈現(xiàn)時間很大程度取決于客戶端的硬件表現(xiàn)。二是資源占用率。指系統(tǒng)在性能測試過程中,承擔負載壓力的服務(wù)器所耗費的各類資源的狀況,常包含CPU占用率、內(nèi)存利用率、帶寬等。CPU占用率可以有效衡量服務(wù)器的CPU是否夠用,指標Processor\\%Processor Time體現(xiàn)了處理器的利用率,一般CPU占用不得超過75%,指標Processor\\%User Time體現(xiàn)了消耗CPU的數(shù)據(jù)庫操作,若該指標值較高則需要優(yōu)化所測系統(tǒng)的應(yīng)用算法;內(nèi)存利用率用來衡量內(nèi)存是否足夠,指標Memory Available Mbytes的值一般不超過80%,若超過80%的利用率,則應(yīng)考慮給所測服務(wù)器添加內(nèi)存;帶寬指標Network Interface用來衡量客戶端與各個服務(wù)器之間的網(wǎng)絡(luò)數(shù)據(jù)傳遞速度是否存在瓶頸,若Total throughput與測試運行時間之比的值與當前網(wǎng)絡(luò)帶寬的值相接近,則應(yīng)該考慮改善當前網(wǎng)絡(luò)環(huán)境。三是平均每秒通過事務(wù)數(shù)。是指性能測試過程中各個模式的客戶端事務(wù)被服務(wù)器成功處理后的事務(wù)數(shù)量。在具體性能測試中,不能簡單獨立地使用各性能指標,而往往要綜合各項指標綜合分析系統(tǒng)的性能表現(xiàn),以更真實的反應(yīng)出系統(tǒng)缺陷。
二、性能測試應(yīng)用總結(jié)
(1)制定測試計劃。完整嚴謹?shù)挠媱澥钦麄€性能測試成功與否的關(guān)鍵。該計劃的制定需考慮以下三個方面:分析應(yīng)用:即了解系統(tǒng)的架構(gòu),所采用的開發(fā)語言,了解網(wǎng)絡(luò)情況,了解用戶的使用方式及行為;定義測試目標:即深入了解測試的目的、用戶可接受的最大響應(yīng)時間和系統(tǒng)資源的占用上限,這個目標是以用戶為中心的;最后基于以上兩個方面制定測試計劃,其中包含并發(fā)數(shù)的要求,場景的設(shè)置,測試環(huán)境的設(shè)置,以及相關(guān)硬軟測試資源的規(guī)劃等。(2)設(shè)計測試場景。一是場景設(shè)置。以登陸事務(wù)為例,按照系統(tǒng)的實際用戶上限量,取并發(fā)用戶數(shù)為10,并在負載過程中用戶以每15秒增加2個進行遞增,以每15秒減少2個進行退出,期間滿負載運行10分鐘。用戶遞增速率和退出速率應(yīng)盡量放慢,其設(shè)置能模擬實際的負載場景,并能利于發(fā)現(xiàn)問題。二是測試環(huán)境。應(yīng)按照實際系統(tǒng)的使用環(huán)境進行客戶端、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、網(wǎng)絡(luò)帶寬的真實環(huán)境設(shè)置,以便在使用LoadRunner進行模擬過程中更貼近實際系統(tǒng)的運行環(huán)境,得到數(shù)據(jù)更真實可信。(3)測試執(zhí)行?;谝陨蠝y試場景,使用LoadRunner的Controller組件滿負載運行30分鐘,并添加了Think Time以便更真實的模擬用戶場景在測試執(zhí)行。在負載過程中,要時刻注意通過事務(wù)數(shù)量和各種圖的情況,當有失敗的事物出現(xiàn)時,需檢查腳本的正確性和場景設(shè)置的合理性。(4)測試結(jié)果分析。Controller定時從各個
Generator上獲取采集的數(shù)據(jù),通過使用Analysis組件顯示測試結(jié)果,最后通過收集結(jié)果進行數(shù)據(jù)分析。
結(jié)果分析顯示,隨著虛擬用戶數(shù)量的遞增,平均系統(tǒng)響應(yīng)時間并未超過用戶的預(yù)期最大值,同時,資源圖的各個指標表現(xiàn)都平穩(wěn)。若以上平均系統(tǒng)響應(yīng)時間超過用戶可接受的最大響應(yīng)時間,測試人員需結(jié)合平均系統(tǒng)響應(yīng)時間和資源圖兩張圖,按照資源占用率的各個衡量指標,從硬軟兩方面定位問題所在和系統(tǒng)瓶頸,從而找到系統(tǒng)優(yōu)化的辦法。
性能測試結(jié)果很難僅僅通過測試數(shù)據(jù)反映系統(tǒng)設(shè)計的優(yōu)良與否,其主要目的是為了發(fā)現(xiàn)系統(tǒng)瓶頸,改善和擴展系統(tǒng)。對整個流程中各個細節(jié)的充分研究必將有助于性能測試技術(shù)的進一步發(fā)展。
參 考 文 獻
[1]惠斌武,陳明銳,楊登攀.Web應(yīng)用系統(tǒng)性能測試研究與應(yīng)用[J].計算機應(yīng)用.2011(7):1769~1772
[2]文俊浩,桑春艷,何盼.電子政務(wù)系統(tǒng)性能測試應(yīng)用研究[J].計算機科學.2009(4):179~180