精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

您現(xiàn)在的位置是:首頁(yè)計(jì)算機(jī)應(yīng)用論文

計(jì)算機(jī)應(yīng)用論文發(fā)表基于java的web應(yīng)用程序的性能測(cè)試

發(fā)布時(shí)間: 1

  摘要:性能測(cè)試可以測(cè)算出應(yīng)用系統(tǒng)能夠承受的負(fù)荷,從而保證系統(tǒng)在實(shí)際壓力下的正常工作。本文通過(guò)一種能夠模擬真實(shí)用戶(hù)實(shí)際行為的方法,對(duì)應(yīng)用系統(tǒng)進(jìn)行性能測(cè)試,獲取數(shù)據(jù)進(jìn)行分析,并對(duì)其性能指標(biāo)進(jìn)行比較,找到系統(tǒng)瓶頸,從而進(jìn)行性能優(yōu)化。

  關(guān)鍵詞:web應(yīng)用,性能測(cè)試,loadrunner

  引言

  WorldWideWeb簡(jiǎn)稱(chēng)Web或WWW,中文名字萬(wàn)維網(wǎng)。是自20世紀(jì)90年代以來(lái)最重要的Internet應(yīng)用。作為一種資源的組織和表達(dá)機(jī)制,Web已成為Internet最主要的信息傳送媒介。

  隨著Internet的迅速發(fā)展,web應(yīng)用越來(lái)越深入人們的工作和生活。java自1995年問(wèn)世以來(lái),由于其簡(jiǎn)單易學(xué)、跨平臺(tái)、純面向?qū)ο蟮戎T多優(yōu)點(diǎn)吸引了人們。因此基于java的web應(yīng)用程序得到了廣泛的應(yīng)用。軟件除了能滿足用戶(hù)的需求之外,還要保證各個(gè)部分協(xié)調(diào)有效的運(yùn)行,發(fā)揮整個(gè)系統(tǒng)的一體作用,因此軟件的性能也是非常重要的。在保證軟件質(zhì)量的過(guò)程中,需要進(jìn)行各種測(cè)試,例如功能測(cè)試、性能測(cè)試、可用性測(cè)試、客戶(hù)端兼容性測(cè)試及安全性測(cè)試。由于基于web的B/S架構(gòu)的應(yīng)用程序,客戶(hù)端只能完成瀏覽、查詢(xún)、數(shù)據(jù)輸入等簡(jiǎn)單功能,絕大部分工作由服務(wù)器承擔(dān),這使得服務(wù)器的負(fù)擔(dān)很重。因此系統(tǒng)并發(fā)的用戶(hù)數(shù),系統(tǒng)的事務(wù)率及響應(yīng)時(shí)間,在基于JAVA的web應(yīng)用程序尤其重要。所以本文著重描述其性能測(cè)試。

  1.軟件性能測(cè)試

  軟件性能測(cè)試是為了描述對(duì)象與性能相關(guān)的特性并對(duì)其進(jìn)行評(píng)價(jià),而實(shí)施和執(zhí)行的一類(lèi)測(cè)試。性能測(cè)試主要檢驗(yàn)軟件是否達(dá)到需求規(guī)格說(shuō)明中規(guī)定的各類(lèi)性能指標(biāo),并滿足一些性能相關(guān)的約束和限制條件。

  中國(guó)軟件評(píng)測(cè)中心將性能測(cè)試概括為三個(gè)方面:應(yīng)用在客戶(hù)端性能的測(cè)試、應(yīng)用在網(wǎng)絡(luò)

  上性能的測(cè)試和應(yīng)用在服務(wù)器端性能的測(cè)試。

  本文主要關(guān)注應(yīng)用在客戶(hù)端性能的測(cè)試。

  應(yīng)用在客戶(hù)端性能測(cè)試的目的是考察客戶(hù)端應(yīng)用的性能,測(cè)試的入口是客戶(hù)端。它主要包括并發(fā)性能測(cè)試、疲勞強(qiáng)度測(cè)試、大數(shù)據(jù)量測(cè)試和速度測(cè)試等,其中并發(fā)性能測(cè)試是重點(diǎn)。

  并發(fā)性能測(cè)試的過(guò)程是一個(gè)負(fù)載測(cè)試和壓力測(cè)試的過(guò)程,即逐漸增加負(fù)載,直到系統(tǒng)的瓶頸或者不能接受的性能點(diǎn),通過(guò)綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來(lái)確定系統(tǒng)并發(fā)性能的過(guò)程。負(fù)載測(cè)試是確定在各種負(fù)載下系統(tǒng)的性能,目標(biāo)是測(cè)試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)組成部分的相關(guān)輸出項(xiàng),例如通過(guò)量、響應(yīng)時(shí)間、CUP負(fù)載、內(nèi)存使用等來(lái)決定系統(tǒng)的性能。負(fù)載測(cè)試是一個(gè)分析軟件應(yīng)用程序和支撐架構(gòu)、模擬真實(shí)環(huán)境的使用,從而來(lái)確定能夠接受的性能過(guò)程。壓力測(cè)試是通過(guò)確定一個(gè)系統(tǒng)的瓶頸或者不能接受的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試。

  并發(fā)性能測(cè)試的目的主要體現(xiàn)在三個(gè)方面:以真實(shí)的業(yè)務(wù)為依據(jù),選擇有代表性的、關(guān)鍵的業(yè)務(wù)操作設(shè)計(jì)測(cè)試案例,以評(píng)價(jià)系統(tǒng)的當(dāng)前性能;當(dāng)擴(kuò)展應(yīng)用程序的功能或者新的應(yīng)用程序?qū)⒁徊渴饡r(shí),負(fù)載測(cè)試會(huì)幫助確定系統(tǒng)是否還能夠處理期望的用戶(hù)負(fù)載,以預(yù)測(cè)系統(tǒng)的未來(lái)性能;通過(guò)模擬成百上千個(gè)用戶(hù),重復(fù)執(zhí)行和運(yùn)行測(cè)試,可以確認(rèn)性能瓶頸并優(yōu)化和調(diào)整應(yīng)用,目的在于尋找到瓶頸問(wèn)題。

  2.基于JAVA的WEB應(yīng)用程序性能測(cè)試策略

  軟件測(cè)試就是在受控制的條件下對(duì)系統(tǒng)或應(yīng)用程序進(jìn)行操作并評(píng)價(jià)操作結(jié)果的過(guò)程,所謂控制條件應(yīng)包括正常條件與非正常條件。對(duì)任意一個(gè)程序進(jìn)行的測(cè)試,無(wú)論使用自動(dòng)化的測(cè)試工具或是手動(dòng)測(cè)試,窮盡測(cè)試是不可能。任何一個(gè)經(jīng)過(guò)嚴(yán)格測(cè)試的程序,也不能保證其百分之百的正確。

  因此,為了較少這種不必要的錯(cuò)誤。測(cè)試之前一定先要制定其測(cè)試策略,測(cè)試計(jì)劃,選用合適的測(cè)試工具,從而設(shè)計(jì)出高效的測(cè)試用例。只有這樣,一個(gè)好的測(cè)試策略和好的測(cè)試計(jì)劃才能做到事倍功半的作用。

  基于JAVA的web應(yīng)用程序性能測(cè)試重點(diǎn)在于并發(fā)測(cè)試。并發(fā)測(cè)試一般使用虛載測(cè)試的方法,即通過(guò)一個(gè)控制器發(fā)送測(cè)試信息給多個(gè)參與測(cè)試的主機(jī),在每臺(tái)機(jī)器上模擬多個(gè)用戶(hù)的操作(使用多個(gè)進(jìn)程或線程)向服務(wù)器發(fā)送用戶(hù)請(qǐng)求,使系統(tǒng)運(yùn)行起來(lái)。

  基于以上的工作原理,其性能測(cè)試采用的策略主要有:

 。1)腳本的個(gè)數(shù)、負(fù)載生成器和每個(gè)組中包括的VUSER數(shù)為固定數(shù)。

 。2)腳本的個(gè)數(shù)、負(fù)載生成器和每個(gè)組中包括的Vuser數(shù)可以以一定的百分比進(jìn)行改變。

 。3)可以固定虛擬用戶(hù)數(shù)、每秒事務(wù)數(shù)、每分鐘也面數(shù)及事務(wù)的響應(yīng)時(shí)間。

 。4)可以設(shè)置腳本的種類(lèi)

 。5)設(shè)置不同的操作系統(tǒng),模擬真實(shí)的用戶(hù)現(xiàn)象。

  3.性能測(cè)試的實(shí)現(xiàn)

  性能測(cè)試,大多數(shù)的測(cè)試只有借助測(cè)試工具才能完成。目前,廣泛使用的性能測(cè)試工具大多是商業(yè)軟件,如mercuryinteractive公司的loadrunner、AstraLoadTest,Compuware公司的QALoad,IBMRational公司的TeamTest。本文選用的用Mercury公司的自動(dòng)化性能測(cè)試工具loadrunner,在WindowsXP,MySql數(shù)據(jù)庫(kù)的測(cè)試環(huán)境下進(jìn)行性能測(cè)試。

 。1)性能測(cè)試設(shè)計(jì)

  Loadrunner是一個(gè)可以進(jìn)行自動(dòng)化測(cè)試執(zhí)行,并對(duì)測(cè)試的數(shù)據(jù)進(jìn)行分析,從而得到系統(tǒng)瓶頸的行業(yè)標(biāo)準(zhǔn)的性能測(cè)試解決方案。有以下三部分組成:VuGen用來(lái)錄制虛擬用戶(hù)的腳本。Controller用來(lái)執(zhí)行腳本并且對(duì)整個(gè)測(cè)試過(guò)程進(jìn)行監(jiān)控。Analysis提供圖和報(bào)表來(lái)顯示測(cè)試結(jié)果。

  具體方法:首先通過(guò)使用VuGen(虛擬用戶(hù)生成器)錄制用戶(hù)在客戶(hù)端應(yīng)用程序中執(zhí)行的典型業(yè)務(wù)流程來(lái)開(kāi)發(fā)Vuser腳本。VuGen還可以運(yùn)行腳本,為了成功的把腳本集成到LoadRunner方案中,在錄制了基本的Vuser腳本以后,還要對(duì)腳本進(jìn)行增強(qiáng)及編輯,設(shè)置好運(yùn)行時(shí)環(huán)境后,以獨(dú)立模式運(yùn)行Vuser腳本。其次通過(guò)Controller從一個(gè)單一的控制點(diǎn)簡(jiǎn)單有效地控制所有的Vuser。導(dǎo)入測(cè)試腳本,在方案(描述測(cè)試會(huì)話期間發(fā)生的事情)中配置好Vuser的計(jì)算機(jī)列表、運(yùn)行Vuser腳本的列表以及在方案執(zhí)行期間運(yùn)行的指定數(shù)量的Vuser或Vuser組。執(zhí)行方案時(shí),Controller將該方案中的每個(gè)Vuser分散到負(fù)載生成器,負(fù)載生成器是執(zhí)行Vuser腳本,從而使Vuser可以模擬實(shí)際用戶(hù)操作的計(jì)算機(jī)。在運(yùn)行的同時(shí),還可以用LoadRunner的性能監(jiān)視器來(lái)監(jiān)視方案的執(zhí)行。最后,Analysis把在方案執(zhí)行期間,LoadRunner紀(jì)錄下來(lái)的不同負(fù)載下的應(yīng)用程序性能,以圖和報(bào)表顯示出來(lái)。從而可以方便的分析出應(yīng)用程序的性能。

  (2)性能測(cè)試數(shù)據(jù)的準(zhǔn)備

  通過(guò)使用最少的硬件資源,為所有VUSER提供一致的、可重復(fù)并可度量的負(fù)載,像實(shí)際用戶(hù)一樣使用開(kāi)發(fā)的應(yīng)用程序,這是Loadrunner的一大特點(diǎn)及優(yōu)勢(shì)。在提供負(fù)載時(shí),除了準(zhǔn)備一些比較有代表性的數(shù)據(jù),還要注意測(cè)試腳本的重用問(wèn)題。一個(gè)是關(guān)聯(lián),即通過(guò)參數(shù)化,來(lái)實(shí)現(xiàn)測(cè)試用例的充分利用。另一個(gè)是ip欺騙因?yàn)楫?dāng)運(yùn)行場(chǎng)景時(shí),虛擬用戶(hù)使用它們所在的負(fù)載生成器的固定的IP地址。每個(gè)LoadGenerator上(同時(shí))運(yùn)行大量的虛擬用戶(hù),這樣就造成了大量的用戶(hù)使用同一IP同時(shí)訪問(wèn)一個(gè)網(wǎng)站的情況,這種情況和實(shí)際運(yùn)行的情況不符,并且有一些網(wǎng)站會(huì)限制同一個(gè)IP的登陸。為了更加真實(shí)的模擬實(shí)際情況,LoadRunner允許運(yùn)行的虛擬用戶(hù)使用不同的IP訪問(wèn)同一網(wǎng)站,這種技術(shù)稱(chēng)為“IP欺騙”.

 。3)性能測(cè)試執(zhí)行

  在測(cè)試計(jì)劃、測(cè)試環(huán)境及測(cè)試數(shù)據(jù)準(zhǔn)備好以后就可以進(jìn)行測(cè)試。Controller通過(guò)遠(yuǎn)程代理調(diào)度程序啟動(dòng)負(fù)載生成器計(jì)算機(jī)上的應(yīng)用程序。通過(guò)代理Controller和負(fù)載生成器互相通信。運(yùn)行方案時(shí),Controller指示遠(yuǎn)程代理調(diào)度程序啟動(dòng)LoadRunner代理。該代理根據(jù)從Controller接受到的指令來(lái)初始化、運(yùn)行、暫停和停止各個(gè)Vuser。同時(shí),該代理還將各個(gè)Vuaer的狀態(tài)數(shù)據(jù)傳回Controller。

 。4)性能測(cè)試評(píng)估

  在應(yīng)用程序的測(cè)試測(cè)試結(jié)束后,可以對(duì)應(yīng)其各個(gè)性能指標(biāo)來(lái)分析系統(tǒng)的可用性。

  有許多因素能夠影響系統(tǒng)的性能指標(biāo),如,測(cè)試環(huán)境、網(wǎng)絡(luò)、應(yīng)用的數(shù)據(jù)庫(kù)和中間件的使用及它們之間的關(guān)聯(lián)應(yīng)用。其中任何一個(gè)環(huán)節(jié)都可能造成整個(gè)系統(tǒng)的可用性。LoadrunnerController通過(guò)隔離并標(biāo)識(shí)潛在的客戶(hù)端、網(wǎng)絡(luò)和服務(wù)器瓶頸。監(jiān)視負(fù)載下的網(wǎng)絡(luò)和服務(wù)器資源,檢查出現(xiàn)性能延遲的地方:網(wǎng)絡(luò)或客戶(hù)端延遲、CPU性能、I/O延遲、數(shù)據(jù)鎖定或服務(wù)器上的其他問(wèn)題。在進(jìn)行web應(yīng)用測(cè)試中,LOADRUNNER提供的性能指標(biāo)有每秒點(diǎn)擊次數(shù)吞吐量每秒HTTP響應(yīng)數(shù)、每秒下載頁(yè)面數(shù)每秒連接數(shù)。同時(shí)。用戶(hù)通過(guò)在LOARUNNERANALYSIS中看到這些性能指標(biāo)的圖或報(bào)表,很方便的分析各部分的性能狀況。

  4.總結(jié)

  任何軟件的測(cè)試結(jié)果都不是只與應(yīng)用程序本身有關(guān),特別是性能測(cè)試,還與其測(cè)試硬件環(huán)境、軟件環(huán)境、測(cè)試方法及測(cè)試工具有關(guān),因此在進(jìn)行測(cè)試之前、一定要了解應(yīng)用程序的使用及運(yùn)行的約束條件。LoadrunnerController通過(guò)使用虛擬用戶(hù)技術(shù)來(lái)達(dá)到并發(fā)的目的,這個(gè)測(cè)試屬于黑盒測(cè)試,測(cè)試人員不需要對(duì)程序代碼有很深刻的了解。通過(guò)模擬真實(shí)用戶(hù)對(duì)系統(tǒng)的訪問(wèn),可以幫助系統(tǒng)分析員提早發(fā)現(xiàn)系統(tǒng)的瓶頸,從而優(yōu)化各部分的軟硬件配置。

  參考文獻(xiàn)

  ①?gòu)埓箨,偉力《基于WEB應(yīng)用系統(tǒng)的評(píng)測(cè)方法和技術(shù)》計(jì)算機(jī)工程第29卷第四期。

 、陉悜(zhàn)華楊斌《Client/Server結(jié)構(gòu)軟件的性能測(cè)試測(cè)試技術(shù)》。

  ③啄木鳥(niǎo)部落《如何選擇性能測(cè)試工具》。

  ④中國(guó)軟件評(píng)測(cè)中心測(cè)試中心《性能——軟件測(cè)試的重中之中》。

 、軱OADRUNNER使用手冊(cè)。


轉(zhuǎn)載請(qǐng)注明來(lái)自:http://www.jinnzone.com/jisuanjiyingyonglw/23514.html