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