![Loadrunner性能測(cè)試工具使用_第1頁(yè)](http://file4.renrendoc.com/view/fcf6022eac56c3faf446e6bb6ef0eb8c/fcf6022eac56c3faf446e6bb6ef0eb8c1.gif)
![Loadrunner性能測(cè)試工具使用_第2頁(yè)](http://file4.renrendoc.com/view/fcf6022eac56c3faf446e6bb6ef0eb8c/fcf6022eac56c3faf446e6bb6ef0eb8c2.gif)
![Loadrunner性能測(cè)試工具使用_第3頁(yè)](http://file4.renrendoc.com/view/fcf6022eac56c3faf446e6bb6ef0eb8c/fcf6022eac56c3faf446e6bb6ef0eb8c3.gif)
![Loadrunner性能測(cè)試工具使用_第4頁(yè)](http://file4.renrendoc.com/view/fcf6022eac56c3faf446e6bb6ef0eb8c/fcf6022eac56c3faf446e6bb6ef0eb8c4.gif)
![Loadrunner性能測(cè)試工具使用_第5頁(yè)](http://file4.renrendoc.com/view/fcf6022eac56c3faf446e6bb6ef0eb8c/fcf6022eac56c3faf446e6bb6ef0eb8c5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
LoadRunner簡(jiǎn)介L(zhǎng)oadRunner工作原理LoadRunner安裝LoadRunner的組成LoadRunner測(cè)試過(guò)程LR_開(kāi)發(fā)測(cè)試腳本LR_創(chuàng)建運(yùn)行場(chǎng)景LR_其他有用的設(shè)置LR_執(zhí)行場(chǎng)景/監(jiān)控場(chǎng)景LR_分析性能測(cè)試結(jié)果目錄 LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具。通過(guò)以模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,LoadRunner能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過(guò)使用LoadRunner,企業(yè)能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。目前企業(yè)的網(wǎng)絡(luò)應(yīng)用環(huán)境都必須支持大量用戶,網(wǎng)絡(luò)體系架構(gòu)中含各類應(yīng)用環(huán)境且由不同供應(yīng)商提供軟件和硬件產(chǎn)品。難以預(yù)知的用戶負(fù)載和愈來(lái)愈復(fù)雜的應(yīng)用環(huán)境使公司時(shí)時(shí)擔(dān)心會(huì)發(fā)生用戶響應(yīng)速度過(guò)慢,系統(tǒng)崩潰等問(wèn)題。這些都不可避免地導(dǎo)致公司收益的損失。MercuryInteractive的LoadRunner能讓企業(yè)保護(hù)自己的收入來(lái)源,無(wú)需購(gòu)置額外硬件而最大最大限度地利用現(xiàn)有的IT資源,并確保終端用戶在應(yīng)用系統(tǒng)的各個(gè)環(huán)節(jié)中對(duì)其測(cè)試應(yīng)用的質(zhì)量可靠性和可擴(kuò)展性都有良好的評(píng)價(jià)。LoadRunner是一種適用于各種體系架構(gòu)的自動(dòng)負(fù)載測(cè)試工具,它能預(yù)測(cè)系統(tǒng)行為并優(yōu)化系統(tǒng)性能。LoadRunner的測(cè)試對(duì)象是整個(gè)企業(yè)的系統(tǒng),它通過(guò)模擬實(shí)際用戶的操作行為和實(shí)行實(shí)時(shí)性能監(jiān)測(cè),來(lái)幫助您更快的查找和發(fā)現(xiàn)問(wèn)題。此外,LoadRunner能支持廣范的協(xié)議和技術(shù),為您的特殊環(huán)境提供特殊的解決方案。
LoadRunner簡(jiǎn)介L(zhǎng)oadRunner工作原理
LoadRunner啟動(dòng)以后,在任務(wù)欄會(huì)有一個(gè)Agent進(jìn)程,通過(guò)Agent進(jìn)程,監(jiān)視各種協(xié)議的Client與Server端的通訊,使用自帶的一套C語(yǔ)言函數(shù)將錄制下來(lái)的用戶操作轉(zhuǎn)化為腳本。LoadRunner調(diào)用這些腳本向服務(wù)器端發(fā)出請(qǐng)求,并接收服務(wù)器的響應(yīng)。至于服務(wù)器內(nèi)部如何處理,它不關(guān)心。
LoadRunner安裝安裝:
按照安裝向?qū)б徊讲綀?zhí)行即可。
注:不要將LoadRunner安裝在帶有中文的路徑下,LoadRunner安裝時(shí)是不能識(shí)別漢字。破解:
安裝完成后,在安裝路徑的bin目錄下,替換文件lm70.dll和mlr5lprg.dll。運(yùn)行附件里面deletelicense.exe,刪除試用版本license。打開(kāi)license管理器,點(diǎn)擊添加newlicense,將以下license復(fù)制進(jìn)去,OK,驗(yàn)證通過(guò)!通用的license有:golba-100:AEAMAUIK-YAFEKEKJJKEEA-BCJGI(通用協(xié)議的license)golba-1000:AEACFSJI-YASEKJJKEAHJD-BCLBR(通用協(xié)議的license)web-10000:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB(只適用于HTTP/HTML協(xié)議)3LoadRunner的組成4LoadRunnerAnalysisVuGenControllerVirtualUserGenerator(VuGen)—?jiǎng)?chuàng)建腳本Controller—設(shè)計(jì)和運(yùn)行場(chǎng)景Analysis—分析場(chǎng)景開(kāi)發(fā)測(cè)試腳本
開(kāi)發(fā)測(cè)試腳本需要幾個(gè)步驟,可以用下圖來(lái)表示:創(chuàng)建用戶腳本需要用到VuGen。注:運(yùn)行VuGen最好在1024*768的分辨率下,否則有些工具欄會(huì)看不到。5開(kāi)發(fā)測(cè)試腳本錄制基本的用戶腳本:
啟動(dòng)HPVirtualUserGenerator,新建測(cè)試腳本,選擇系統(tǒng)通訊協(xié)議,如下圖以HTPP/HTML為例:注:如果系統(tǒng)通訊協(xié)議不只一種,可以點(diǎn)擊“NewMultipleProtlcolScript”選擇多個(gè)系統(tǒng)通訊協(xié)議,下圖以HTTP+ODBC為例:6開(kāi)發(fā)測(cè)試腳本7錄制基本的用戶腳本:點(diǎn)擊上頁(yè)圖中的“Creat”按鈕,進(jìn)入StartRecording界面,選擇Applicationtype、URLAddress等。
VuGen中的腳本分為三部分:vuser_init、vuser_end和Action。其中vuser_init和vuser_end都只能存在一個(gè),不能再分割,而Action還可以分成無(wú)數(shù)多個(gè)部分(通過(guò)點(diǎn)擊New按鈕,新建ActionXXX)。在錄制需要登陸的系統(tǒng)時(shí),我們把登陸部分放到vuser_init中,把登陸后的操作部分放到Action中,把注銷關(guān)閉登陸部分放到vuser_end中。
注:如果需要在登陸操作設(shè)集合點(diǎn),那么登陸操作也要放到Action中,因?yàn)関user_init中不能添加集合點(diǎn),在其他情況下,我們只要把操作部分放到Action中即可。
重復(fù)執(zhí)行測(cè)試腳本時(shí),vuser_init和vuser_end中的內(nèi)容只會(huì)執(zhí)行一次,重復(fù)執(zhí)行的只是Action中的部分。開(kāi)發(fā)測(cè)試腳本8錄制基本的用戶腳本:點(diǎn)擊上頁(yè)圖中“Options”按鈕,設(shè)置腳本錄制設(shè)置選項(xiàng),下圖中重點(diǎn)介紹Recording選項(xiàng),其他選項(xiàng)默認(rèn)即可。上圖中有兩種腳本錄制方式,HTML和URL。兩者的差異在于:HTML方式腳本容易維護(hù),容易理解,推薦這種方式錄制。URL方式腳本中的表示采用基于URL的方式,WAS和ACT中的錄制方式就是這種,這種方式看上去比較亂。選擇哪種方式錄制,參考原則如下:1、基于瀏覽器的應(yīng)用程序推薦使用HTML-basedScript。2、不是基于瀏覽器的應(yīng)用程序推薦使用URL-basedScript。3、如果基于瀏覽器的應(yīng)用程序中包含了JavaScript并且該腳本向服務(wù)器產(chǎn)生了請(qǐng)求,比如DataGrid的分頁(yè)按鈕等,也要使用URL-based方式錄制。4、基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,使用URL-based方式錄制。注:Correlation標(biāo)簽頁(yè)的內(nèi)容比較重要,主要是為了在錄制過(guò)程中設(shè)置自動(dòng)關(guān)聯(lián)。單獨(dú)章節(jié)講解。開(kāi)發(fā)測(cè)試腳本9錄制基本的用戶腳本:
腳本錄制設(shè)置選項(xiàng)設(shè)置完畢后,點(diǎn)擊“OK”按鈕,VuGen開(kāi)始錄制腳本。錄制完成后點(diǎn)擊“Stop”按鈕,VuGen自動(dòng)生成用戶腳本。下面簡(jiǎn)單介紹下錄制過(guò)程中的工具條各個(gè)按鈕的作用,如下圖所示:注:事務(wù)、集合點(diǎn)、注釋、文本檢查點(diǎn)可以在錄制過(guò)程中插入,也可以在完善腳本時(shí)插入。在錄制過(guò)程中,不要使用瀏覽器的“后退”功能,LoadRunner支持不太好。開(kāi)發(fā)測(cè)試腳本10完善測(cè)試腳本:當(dāng)用戶腳本錄制完成后,在正式使用前我們還需要完善測(cè)試腳本,增強(qiáng)腳本的靈活性。一般情況下,我們通過(guò)以下方法來(lái)完善測(cè)試腳本。1、插入事務(wù);2、插入集合點(diǎn);3、插入注釋;4、參數(shù)化;5、插入函數(shù);6、
插入Text/Imag檢查點(diǎn);7、Run-TimeSetting;8、單機(jī)調(diào)測(cè)腳本。這里重點(diǎn)講解“關(guān)聯(lián)”“參數(shù)化”、“插入Text/Imag檢查點(diǎn)”、“Run-TimeSetting”、“單機(jī)調(diào)測(cè)腳本”等。
關(guān)聯(lián):上一次請(qǐng)求響應(yīng)數(shù)據(jù)庫(kù)傳入下一次請(qǐng)求中,并且這個(gè)數(shù)據(jù)每次都再變化事務(wù)(Transaction):是為了衡量服務(wù)器的性能,我們需要定義事務(wù).
注:一個(gè)事務(wù)必定對(duì)應(yīng)一個(gè)開(kāi)始點(diǎn)和一個(gè)結(jié)束點(diǎn)。開(kāi)始點(diǎn)和結(jié)束點(diǎn)之間的代碼是具體事務(wù)的操作。事務(wù)的名稱最好要有意義,能夠清楚的說(shuō)明該事務(wù)完成的動(dòng)作。集合點(diǎn)(Rendezvous):是為了衡量在加重負(fù)載的情況下服務(wù)器的性能情況。在測(cè)試計(jì)劃中,可能會(huì)要求系統(tǒng)能夠承受1000人同時(shí)提交數(shù)據(jù),在LR中可以通過(guò)在提交數(shù)據(jù)操作前面加入集合點(diǎn),這樣當(dāng)虛擬用戶運(yùn)行到提交數(shù)據(jù)的集合點(diǎn)時(shí),LoadRunner就會(huì)檢查同時(shí)有多少用戶運(yùn)行到集合點(diǎn),如果不到1000人,LoadRunner就會(huì)命令已經(jīng)到集合點(diǎn)的用戶在此等待,當(dāng)在集合點(diǎn)等待的用戶達(dá)到1000人時(shí),LoadRunner命令1000人同時(shí)去提交數(shù)據(jù),從而達(dá)到測(cè)試計(jì)劃中的需求。
注:集合點(diǎn)經(jīng)常和事務(wù)結(jié)合起來(lái)使用,放在事務(wù)之前。集合點(diǎn)只能插入到Action部分,vuser_init和vuser_end中不能插入集合點(diǎn)。集合點(diǎn)的名稱最好要有意義,能夠清楚的說(shuō)明該集合點(diǎn)完成的動(dòng)作。
插入注釋(comment):是為了增強(qiáng)腳本的可讀性。(注:插入注釋最好在腳本錄制過(guò)程中)
開(kāi)發(fā)測(cè)試腳本11完善測(cè)試腳本_關(guān)聯(lián):為什么需要關(guān)聯(lián)?因?yàn)閘oadruner腳本只是忠實(shí)記錄了所有客戶端發(fā)送服務(wù)器端的數(shù)據(jù),并在腳本回放時(shí)按照錄制的順序?qū)浿葡聛?lái)的數(shù)據(jù)重新發(fā)送出去,這種方式屬于靜態(tài)的腳本。在一些情況下,腳本需要?jiǎng)討B(tài)的,如一些系統(tǒng)會(huì)采用sessionID/SeqID等方式來(lái)標(biāo)識(shí)不同的任務(wù)(如:需要從服務(wù)器端獲得一些數(shù)據(jù),當(dāng)作一個(gè)參數(shù)來(lái)構(gòu)造下一次的請(qǐng)求),這就要求腳本上需要做相應(yīng)的處理,來(lái)滿足實(shí)際業(yè)務(wù)運(yùn)行情況,這就是loadruner的關(guān)聯(lián)技術(shù)。手工關(guān)聯(lián)步驟:1、設(shè)置“RuntimeSetting”中的日志選項(xiàng)“Datareturnbyserver”,回放腳本,分析腳本運(yùn)行失敗的原因是否是因?yàn)殛P(guān)聯(lián)造成的。2、在腳本中分析確定需要關(guān)聯(lián)的動(dòng)態(tài)內(nèi)容。(錄制兩次,比較腳本的不同)3、確定要關(guān)聯(lián)的動(dòng)態(tài)內(nèi)容的“左邊界”、“右邊界”和發(fā)生次數(shù)。4、在腳本適當(dāng)?shù)奈恢貌迦搿皐eb_reg_save_param”關(guān)聯(lián)函數(shù)。5、在腳本中動(dòng)態(tài)內(nèi)容出現(xiàn)的地方,使用參數(shù)替換“寫(xiě)死”的動(dòng)態(tài)內(nèi)容。6、重新運(yùn)行腳本,確保關(guān)聯(lián)后的腳本能夠運(yùn)行成功。開(kāi)發(fā)測(cè)試腳本12完善測(cè)試腳本_參數(shù)化:上面腳本中的0041Y00000001為登錄的用戶名,需要參數(shù)化,選中鼠標(biāo)右擊選擇“RepacewithaParameter”選項(xiàng),彈出以下窗口:注:參數(shù)的文件名不要使用con.dat、pm.dat或者lpt*.dat等系統(tǒng)裝置名。開(kāi)發(fā)測(cè)試腳本13完善測(cè)試腳本_參數(shù)化:
如果用戶在錄制腳本過(guò)程中,填寫(xiě)提交了一些數(shù)據(jù),這些操作將都被記錄到腳本中。當(dāng)多個(gè)虛擬用戶運(yùn)行腳本時(shí),都會(huì)提交相同的記錄,這樣做可能會(huì)被應(yīng)用程序禁止而導(dǎo)致出,同時(shí)這也不符合實(shí)際的運(yùn)行情況,而且有可能引起沖突。為了更加真實(shí)的模擬實(shí)際操作,需要各種各樣的輸入。這時(shí)就需要用到參數(shù)化用參數(shù)表示用戶的腳本有兩個(gè)優(yōu)點(diǎn):
1、可以使腳本的長(zhǎng)度變短。
2、可以使用不同的數(shù)值來(lái)測(cè)試你的腳本。(eg,登錄腳本中用戶名和密碼)參數(shù)化包含以下兩項(xiàng)任務(wù):1、在腳本中用參數(shù)取代常量值。2、設(shè)置參數(shù)的屬性以及數(shù)據(jù)源。
注:參數(shù)化僅可以用于一個(gè)函數(shù)中的參量。不能用參數(shù)表示非函數(shù)參數(shù)的字符串。另外,不是所有的函數(shù)都可以參數(shù)化的。下面通過(guò)一個(gè)事例來(lái)介紹:開(kāi)發(fā)測(cè)試腳本14完善測(cè)試腳本_參數(shù)化:在上頁(yè)圖中點(diǎn)擊“Properties…”按鈕,可以進(jìn)行參數(shù)屬性設(shè)置,參數(shù)數(shù)據(jù)可以通過(guò)兩種方式構(gòu)造,分別為“EditwithNotepad..”(即:文本方式編輯)和“DateWizard”(即:連接數(shù)據(jù)庫(kù)選?。T敿?xì)信息見(jiàn)附件:lr_data.rar上圖參數(shù)詳情界面簡(jiǎn)單介紹各個(gè)參數(shù)的含義,參數(shù)取值配置(Selectnextrow)較重要,詳見(jiàn)附件:LR參數(shù)取值的幾種配置介紹.doc注:在參數(shù)數(shù)據(jù)顯示區(qū),最多只能看到100行,如果數(shù)據(jù)超過(guò)100行,只能點(diǎn)“Edit”按鈕,進(jìn)入記事本看。開(kāi)發(fā)測(cè)試腳本15完善測(cè)試腳本_插入Text/Imag檢查點(diǎn):
在進(jìn)行壓力測(cè)試時(shí),為了檢查Web服務(wù)器返回的網(wǎng)頁(yè)是否正確,VuGen允許我們插入Text/Imag檢查點(diǎn),這些檢查點(diǎn)驗(yàn)證網(wǎng)頁(yè)上是否存在指定的Text或者Imag,還可以測(cè)試在比較大的壓力測(cè)試環(huán)境中,被測(cè)的網(wǎng)站功能是否保持正確。VuGen在測(cè)試Web時(shí),有兩種視圖方式:TreeView/ScriptView。前面我們見(jiàn)到的一直都是ScriptView。在插入Text/Imag檢查點(diǎn)時(shí),用TreeView視圖會(huì)比較方便。視圖之間切換方式可以點(diǎn)擊菜單欄ViewTreeView,或者通過(guò)點(diǎn)擊工具欄中的Tree圖標(biāo),如:如何進(jìn)行文本檢查點(diǎn),詳細(xì)見(jiàn)下面的視頻附件:lr_Text檢查點(diǎn)視頻.rar,Image檢查點(diǎn)同下視頻的Text檢查點(diǎn),這里就不做介紹。注:如果Web窗體中包含有JavaScript腳本,那么在TreeView視圖中顯示可能會(huì)有問(wèn)題。解決這個(gè)問(wèn)題,可以設(shè)置“toolsGeneralOptionsCorrelation”選項(xiàng),如下圖。開(kāi)發(fā)測(cè)試腳本16完善測(cè)試腳本_Run-TimeSetting:
當(dāng)完善了測(cè)試腳本后,需要對(duì)VuGen的Run-TimeSetting進(jìn)行配置,下面對(duì)經(jīng)常需要設(shè)置的幾個(gè)標(biāo)簽頁(yè)進(jìn)行說(shuō)明。首先打開(kāi)Run-TimeSetting窗口,可以通過(guò)菜單VuserRun-TimeSetting或者工具欄進(jìn)入。Miscellaneous選項(xiàng)介紹,見(jiàn)下圖:開(kāi)發(fā)測(cè)試腳本17完善測(cè)試腳本_Run-TimeSetting:
Preferences選項(xiàng)介紹,重點(diǎn)關(guān)注下面的Checks選項(xiàng),詳細(xì)信息見(jiàn)下圖:開(kāi)發(fā)測(cè)試腳本18完善測(cè)試腳本_Run-TimeSetting:ThinkTime選項(xiàng)介紹,詳細(xì)信息見(jiàn)下圖:注:其它的標(biāo)簽設(shè)置采用默認(rèn)值即可,這里不再詳細(xì)的介紹。開(kāi)發(fā)測(cè)試腳本完善測(cè)試腳本_單機(jī)運(yùn)行測(cè)試腳本:
經(jīng)過(guò)以上的各個(gè)步驟后,腳本就可以運(yùn)行了,可以通過(guò)菜單“VuserRun”或者工具欄,或者快捷鍵盤F5來(lái)操作。執(zhí)行“運(yùn)行”命令后,VuGen先編譯腳本,檢查是否有語(yǔ)法等錯(cuò)誤。如果有錯(cuò)誤,VuGen將會(huì)提示錯(cuò)誤。雙擊錯(cuò)誤提示,VuGen能夠定位到出現(xiàn)錯(cuò)誤的那一行。為了驗(yàn)證腳本的正確性,我們還可以調(diào)試腳本,比如在腳本中加斷點(diǎn)等,操作和在VC中完全一樣
。開(kāi)發(fā)測(cè)試腳本完善測(cè)試腳本_單機(jī)運(yùn)行測(cè)試腳本:如果編譯通過(guò),就會(huì)開(kāi)始運(yùn)行。執(zhí)行完畢后,點(diǎn)擊菜單“ViewTestResults…”查看執(zhí)行腳本運(yùn)行結(jié)果,如下圖:創(chuàng)建運(yùn)行場(chǎng)景運(yùn)行場(chǎng)景描述在測(cè)試活動(dòng)中發(fā)生的各種事件。一個(gè)運(yùn)行場(chǎng)景包括一個(gè)運(yùn)行虛擬用戶活動(dòng)的LoadGenerator機(jī)器列表,一個(gè)測(cè)試腳本的列表以及大量的虛擬用戶和虛擬用戶組。創(chuàng)建運(yùn)行場(chǎng)景使用Controller:在開(kāi)始菜單中,啟動(dòng)Controller程序,出現(xiàn)“NewScenario”窗口。如果沒(méi)有出現(xiàn),可以在菜單或者工具欄中點(diǎn)擊“New”ManualScenario:該項(xiàng)要完全手動(dòng)的設(shè)置場(chǎng)景。。
ManualScenariowithPercentageMode:該項(xiàng)只有在“ManualScenario”選中的情況下才能選擇。選擇該項(xiàng)后,在場(chǎng)景中我們需要定義要使用的虛擬用戶的總數(shù),LoadGeneratormachine機(jī)器集,然后我們?yōu)槊恳粋€(gè)腳本分配要運(yùn)行的虛擬用戶的百分比。
Goal—OrientedScenario:在測(cè)試計(jì)劃中,一般都包括性能測(cè)試要達(dá)到的目標(biāo)。選擇該項(xiàng)后,LoadRunner基于這個(gè)目標(biāo),自動(dòng)為你創(chuàng)建一個(gè)場(chǎng)景。在場(chǎng)景中,只要定義好我們的目標(biāo)即可。創(chuàng)建運(yùn)行場(chǎng)景ManualScenario:在上頁(yè)圖中選擇運(yùn)行場(chǎng)景為“ManualScenario”,并在AvailableScripts文本框中選擇待測(cè)試的腳本,點(diǎn)擊“Add”按鈕添加腳本,然后點(diǎn)擊“OK”按鈕即可。
注:這里可以選擇多個(gè)測(cè)試腳本。
步驟1:(可選)測(cè)試腳本加載后,下一步,我們可以“添加LoadGeneratorMachines”,點(diǎn)擊菜單“ScenarioLoadGenerator”如下
LoadGenerators窗口中,點(diǎn)擊“Add”按鈕,在彈出的窗口中輸入目標(biāo)機(jī)器Name(IP即可)和目標(biāo)機(jī)器類型后點(diǎn)擊“OK”按鈕,添加完成后,點(diǎn)擊“Connect”按鈕,若Status為Reacy,表示該機(jī)器聯(lián)接正常,如果為Failed,表示該機(jī)器不能聯(lián)接,請(qǐng)檢查原因。(可以通過(guò)菜單“ScenarioSaveLoadGeneratorsListasDefault”保存Generators列表)創(chuàng)建運(yùn)行場(chǎng)景ManualScenario:
步驟2:設(shè)置Schedule(非常重要),如下圖創(chuàng)建運(yùn)行場(chǎng)景ManualScenario_設(shè)置集合點(diǎn):步驟3:(可選)如果在腳本中設(shè)置了集合點(diǎn),還需要在Controller中設(shè)置集合點(diǎn)策略。在菜單“ScenarioRendezvous”中調(diào)出設(shè)置集合點(diǎn)策略的窗口,如下圖:點(diǎn)擊“Pllicy”按鈕,進(jìn)入策略設(shè)置窗口,如下圖:創(chuàng)建運(yùn)行場(chǎng)景ManualScenariowithPercentageMode:點(diǎn)擊“EditScenarioGoal…”按鈕,編輯場(chǎng)景的目標(biāo),詳細(xì)信息如下:1、這里的說(shuō)明是以選擇的目標(biāo)為VirtualUsers時(shí)為基礎(chǔ)的。選擇不同的目標(biāo),內(nèi)容會(huì)稍微有一點(diǎn)不同。2、如果需要測(cè)試多少人可以同時(shí)運(yùn)行Web應(yīng)用,那么推薦定義VirtualUsersGoal。運(yùn)行定義該目標(biāo)類型的場(chǎng)景和運(yùn)行Manual類型的場(chǎng)景類似。創(chuàng)建運(yùn)行場(chǎng)景ManualScenariowithPercentageMode:HitsperSecond:如果想測(cè)試WebServer的真正實(shí)力,推薦定義目標(biāo)類型為:HitsperSecond、PagesperMinute或者TransactionsperSecond,這些類型都需要指定一個(gè)虛擬用戶的最小值和最大值的范圍。Controller試圖使用最少的虛擬用戶來(lái)達(dá)到定義的目標(biāo)。如果使用最少的用戶,不能達(dá)到目標(biāo),ontroller增加用戶數(shù),直到定義的最大值。如果使用了最多的虛擬用戶數(shù),定義的目標(biāo)還沒(méi)有實(shí)現(xiàn),那么需要增加最大用戶數(shù),重新執(zhí)行場(chǎng)景。TransactionsperSecond:創(chuàng)建運(yùn)行場(chǎng)景ManualScenariowithPercentageMode:TransactionsResponseTime:
如果想知道在多少用戶并發(fā)訪問(wèn)網(wǎng)站時(shí),事務(wù)的響應(yīng)時(shí)間達(dá)到性能指標(biāo)說(shuō)明書(shū)中規(guī)定響應(yīng)時(shí)間的最大值,那么推薦使用TransactionsResponseTime類型。指定需要測(cè)試的事務(wù)的名稱,虛擬用戶數(shù)量的最小值和最大值,還有預(yù)先定義好的事務(wù)的響應(yīng)時(shí)間。在場(chǎng)景運(yùn)行中,如果使用了最多的虛擬用戶,還不能達(dá)到定義的最大響應(yīng)時(shí)間,說(shuō)明WebServer還有能力接納定義的虛擬用戶的最多數(shù)量;如果在使用了部分虛擬用戶,就達(dá)到了定義的最大的響應(yīng)時(shí)間,或者LoadRunner提示如果使用最多數(shù)量的虛擬用戶時(shí)將要超過(guò)最大響應(yīng)時(shí)間,那么需要重新設(shè)計(jì)或者修補(bǔ)應(yīng)用程序,同時(shí)可能需要升級(jí)WebServer的軟硬件。PagesperMinute:
創(chuàng)建運(yùn)行場(chǎng)景28ManualScenariowithPercentageMode:如果你定義的類型是PagesperMinute、Hits/TransactionsperSecond,Controller首先用最小用戶數(shù)除以定義的目標(biāo),得到一個(gè)值,然后確定每個(gè)用戶應(yīng)該達(dá)到的hits/transactions或者pagesperminute,然后controller開(kāi)始按照以下的策略加載用戶:1、如果選擇的是自動(dòng)的加載虛擬用戶,LoadRunner會(huì)首先加載50個(gè)用戶。如果定義的最大用戶數(shù)小于50,LoadRunner就會(huì)一次加載所有的虛擬用戶。2、如果選擇的是在場(chǎng)景運(yùn)行一段時(shí)間后達(dá)到目標(biāo),LoadRunner就會(huì)嘗試在定義的這段時(shí)間內(nèi)達(dá)到目標(biāo),根據(jù)時(shí)間限制和計(jì)算出的每個(gè)用戶的hits、transactions或者pages,LoadRunner確定第一批加載多少用戶。3、如果選擇的是按照一定的階段達(dá)到目標(biāo)(也就是先在x長(zhǎng)時(shí)間內(nèi)達(dá)到y(tǒng)pages/hits,然后再達(dá)到下一個(gè)目標(biāo)),LoadRunner計(jì)算每個(gè)用戶應(yīng)該達(dá)到的數(shù)字后,再確定第一批加載多少用戶。每加載一批用戶后,LoadRunner會(huì)判斷是否達(dá)到這批用戶的目標(biāo)。如果這批用戶的目標(biāo)沒(méi)有達(dá)到,LoadRunner重新計(jì)算每一個(gè)用戶應(yīng)該達(dá)到的目標(biāo)數(shù)字后,重新調(diào)整下一批加載用戶的數(shù)量。默認(rèn)情況下,LoadRunner每?jī)煞昼娂虞d一批用戶。如果Controller加載了最多數(shù)量的用戶還沒(méi)有達(dá)到預(yù)定的目標(biāo),LoadRunner會(huì)重新計(jì)算每個(gè)用戶的目標(biāo),然后同時(shí)運(yùn)行最大數(shù)量的用戶,嘗試達(dá)到預(yù)定的目標(biāo)。如果出現(xiàn)以下情況,PagesperMinute、Hits/TransactionsperSecond類型的場(chǎng)景會(huì)置于“Failed”狀態(tài):1、Controller使用了指定的最大數(shù)量的用戶,并且兩次都沒(méi)有達(dá)到目標(biāo)所有的用戶運(yùn)行都失敗2、
沒(méi)有足夠的LoadGenerators機(jī)器(現(xiàn)有的機(jī)器已經(jīng)超載運(yùn)行的情況下)3、Controller增加了幾批用戶后,pagesperminute或者h(yuǎn)its/transactionspersecond沒(méi)有增加4、Controlller加載第一批用戶后,定義的目標(biāo)沒(méi)有被捕捉到其他有用的設(shè)置29用IP欺騙:當(dāng)運(yùn)行場(chǎng)景時(shí),虛擬用戶使用它們所在的LoadGenerator的固定的IP地址。同時(shí)每個(gè)LoadGenerator上運(yùn)行大量的虛擬用戶,這樣就造成了大量的用戶使用同一IP同時(shí)訪問(wèn)一個(gè)網(wǎng)站的情況,這種情況和實(shí)際運(yùn)行的情況不符,并且有一些網(wǎng)站會(huì)根據(jù)用戶IP來(lái)分配資源,這些網(wǎng)站會(huì)限制同一個(gè)IP的登錄,使用等等。為了更加真實(shí)的模擬實(shí)際情況,LoadRunner允許運(yùn)行的虛擬用戶使用不同的IP訪問(wèn)統(tǒng)一網(wǎng)站,這種技術(shù)稱為“IP欺騙”。啟用該選項(xiàng)后,場(chǎng)景中運(yùn)行的虛擬用戶將模擬從不同的IP地址發(fā)送請(qǐng)求。該選項(xiàng)非常的有用。注意:IPSpoofer在連接LoadGenerators之前啟用要使用IP欺騙,各個(gè)LoadGenerator機(jī)器必須使用固定的IP,不能使用動(dòng)態(tài)IP(即DHCP)。設(shè)置IP欺騙操作步驟:1、使用IPWizard:在“開(kāi)始”菜單程序中,找到LoadRunnerToolsIP向?qū)?,運(yùn)行它,彈出如下窗口:
2、第一次運(yùn)行IPWizard需要選擇第一項(xiàng)“Createnewsettings”,如果以前運(yùn)行過(guò),可以選擇第二項(xiàng)“Loadprevioussettingsfromfile”,選擇保存好的文件;第三項(xiàng)用于使用IP欺騙進(jìn)行測(cè)試完成后,釋放IP的過(guò)程(因?yàn)樵摍C(jī)會(huì)占用大量的IP資源,可能會(huì)導(dǎo)致其他機(jī)器沒(méi)有IP可用的尷尬局面,使用該項(xiàng),可以恢復(fù)到原來(lái)的狀況)。其他設(shè)置啟用IP欺騙:3、上頁(yè)圖中選擇第一項(xiàng),“Next”,出現(xiàn)IPWizard的第二個(gè)窗口,如下圖:
4、上圖中輸入WebServerIP的IP,點(diǎn)擊“下一步”按鈕,,出現(xiàn)向?qū)У牡谌齻€(gè)窗口,如下圖:從“FromIP”文本框中輸入要使用IP范圍的第一個(gè)IP值,然后在“NumberstoAdd”輸入一個(gè)數(shù)字,表示IP范圍的值;假如第一個(gè)IP為00,范圍大小為100,那么IPWizard將會(huì)使用192.168.6.N(100<=N<200),當(dāng)然這個(gè)范圍內(nèi)已經(jīng)使用的IP地址除外,否則會(huì)引起IP沖突?!癝ubmask”采用默認(rèn)情況即可,取決于使用的那種類型的網(wǎng)絡(luò)IP,一般局域網(wǎng)內(nèi)采用ClassC即可。然后“OK”,然后IPWizard開(kāi)始檢查該范圍內(nèi)沒(méi)有使用的IP,并把沒(méi)有使用的IP添加到本機(jī)的IP窗口中。到最后一個(gè)窗口,直接點(diǎn)“Finish”,
5、使用IPWizard后,重新啟動(dòng)機(jī)器后,在Controller的場(chǎng)景中,勾選“ScenarioEnableIPSpoofer
”選項(xiàng)即可。其他設(shè)置監(jiān)控被測(cè)系統(tǒng)資源:在運(yùn)行過(guò)程中,可以監(jiān)視各個(gè)服務(wù)器的運(yùn)行情況(DataBaseServer、WebServer等)。監(jiān)視場(chǎng)景通過(guò)添加性能計(jì)數(shù)器來(lái)實(shí)現(xiàn)。(注:非常的重要,確定系統(tǒng)瓶頸全靠它了。)
在LRController的Run視圖中添加Windows/Unix被測(cè)系統(tǒng)的IP,如下圖:在彈出的窗口中,輸入目標(biāo)服務(wù)器的IP,彈出下圖窗口,點(diǎn)擊“Add”按鈕,可以添加其他監(jiān)控計(jì)數(shù)器,添加完成,點(diǎn)擊“OK”按鈕即可
Q:添加目標(biāo)服務(wù)器,出現(xiàn)“Cannotinitializethemonitoring”錯(cuò)誤怎么解決,以及各個(gè)性能測(cè)試的意義?A:詳見(jiàn)附件“LR監(jiān)控windwos/Linux方法”和“LR監(jiān)控被測(cè)系統(tǒng)資源參數(shù)說(shuō)明.doc”。執(zhí)行場(chǎng)景/監(jiān)控場(chǎng)景在測(cè)試場(chǎng)景設(shè)置完畢后,在LRController的Run頁(yè)簽中點(diǎn)擊“StartScenario”按鈕執(zhí)行場(chǎng)景。一般組網(wǎng)環(huán)境比較復(fù)雜,執(zhí)行場(chǎng)景需要團(tuán)隊(duì)合作:1、壓力測(cè)試工程師通過(guò)LRController監(jiān)控事務(wù)性能和服務(wù)器2、當(dāng)壓力測(cè)試開(kāi)始執(zhí)行時(shí),網(wǎng)絡(luò)管理員監(jiān)控網(wǎng)絡(luò)性能。3、在壓力測(cè)試期間,應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器管理員監(jiān)控遠(yuǎn)程系統(tǒng)性能。在之前需要做腳本調(diào)試運(yùn)行,如下圖:調(diào)試運(yùn)行3-5Vusers隔離超長(zhǎng)時(shí)間事務(wù)做20%壓力測(cè)試擴(kuò)展性壓力測(cè)試≥100%滿負(fù)荷壓力測(cè)試100%目標(biāo):
驗(yàn)證參數(shù)化的數(shù)據(jù)可以正常使用。運(yùn)行時(shí)設(shè)置:
使用擴(kuò)展日志和數(shù)據(jù),以及忽略延遲時(shí)間。目的:
無(wú)錯(cuò);此時(shí)表明可以繼續(xù)下一步的壓力測(cè)試。超長(zhǎng)時(shí)間事務(wù):在較小壓力下,與其它事務(wù)相比明顯需要很長(zhǎng)的時(shí)間的才能完成的事務(wù)或與測(cè)試目標(biāo)相比明顯花費(fèi)很長(zhǎng)的時(shí)間的事務(wù)。執(zhí)行場(chǎng)景/監(jiān)控場(chǎng)景目標(biāo):
為發(fā)現(xiàn)是否存在瓶頸,隔離與壓力無(wú)關(guān)且存在性能問(wèn)題的事務(wù)。運(yùn)行時(shí)設(shè)置:
使用標(biāo)準(zhǔn)日志和限制延遲時(shí)間在5秒內(nèi)。;
目的:
隔離最壞情況下執(zhí)行的事務(wù)。這可能在絕對(duì)時(shí)間(最長(zhǎng)時(shí)間)內(nèi)或可能與測(cè)目標(biāo)相反(與測(cè)試目標(biāo)慢的多)。擴(kuò)展性壓力測(cè)試≥100%滿負(fù)荷壓力測(cè)試100%調(diào)試運(yùn)行3-5Vusers隔離超長(zhǎng)時(shí)間事務(wù)做20%壓力測(cè)試擴(kuò)展性壓力測(cè)試≥100%調(diào)試運(yùn)行3-5Vusers隔離超長(zhǎng)時(shí)間事務(wù)做20%壓力測(cè)試滿負(fù)荷壓力測(cè)試100%目標(biāo):
驗(yàn)證系統(tǒng)在期望的壓力下的系統(tǒng)性能。運(yùn)行時(shí)設(shè)置:
關(guān)閉日志和使用思考時(shí)間。目的:比較壓力測(cè)試目標(biāo)和測(cè)試結(jié)果。執(zhí)行場(chǎng)景/監(jiān)控場(chǎng)景目標(biāo):
驗(yàn)證系統(tǒng)能夠承受的壓力極限
運(yùn)行時(shí)設(shè)置:關(guān)閉日志和使用延遲時(shí)間現(xiàn)象:
超過(guò)壓力測(cè)試目標(biāo),事務(wù)花費(fèi)的時(shí)間可能是滿負(fù)荷壓力下所花費(fèi)的時(shí)間的2倍。調(diào)試運(yùn)行3-5Vusers隔離超長(zhǎng)時(shí)間事務(wù)做20%壓力測(cè)試滿負(fù)荷壓力測(cè)試100%擴(kuò)展性壓力測(cè)試≥100%Controller運(yùn)行過(guò)程中場(chǎng)景狀態(tài)_在場(chǎng)景狀態(tài)窗口包括:
當(dāng)前運(yùn)行的Vuser數(shù)執(zhí)行的時(shí)間每秒的點(diǎn)擊率通過(guò)/失敗的事務(wù)報(bào)錯(cuò)數(shù)注:點(diǎn)擊上圖中的“放大鏡”圖標(biāo),可以查場(chǎng)景運(yùn)行的詳細(xì)信息分析性能測(cè)試結(jié)果35Q1:事務(wù)響應(yīng)時(shí)間是否在可接受的時(shí)間內(nèi)?哪個(gè)事務(wù)用的時(shí)間最長(zhǎng)?A1:總結(jié)報(bào)告提供了對(duì)某次測(cè)試的整體視圖,可以判斷每個(gè)事務(wù)完成用的時(shí)間,從而可以判斷出那個(gè)事務(wù)用的時(shí)間最長(zhǎng),那些事務(wù)用的時(shí)間超出預(yù)定的可接受時(shí)間。Q2:網(wǎng)絡(luò)帶寬是否足夠?A2:“Throughput”圖顯示在場(chǎng)景運(yùn)行期間的每一秒鐘,從WebServer上接受到的數(shù)據(jù)量的值。拿這個(gè)值和網(wǎng)絡(luò)帶寬比較,可以確定目前的網(wǎng)絡(luò)帶寬是否是瓶頸。如果該圖的曲線隨著用戶數(shù)的增加,沒(méi)有隨著增加,而是呈比較平的直線,說(shuō)明目前的網(wǎng)絡(luò)速度不能夠滿足目前的系統(tǒng)流量。分析性能測(cè)試結(jié)果Q3:硬件和操作系統(tǒng)能否處理高負(fù)載?A3:在正常負(fù)載下,服務(wù)器的CPU利用率應(yīng)該在80%以下。在整個(gè)測(cè)試中,服務(wù)器應(yīng)該始終保持一定的可用物理內(nèi)存。監(jiān)控資源各個(gè)參數(shù)的指標(biāo),見(jiàn)附件:loadrunner監(jiān)控Linux與Windows指標(biāo).ppt分析性能測(cè)試結(jié)果交易平均響應(yīng)時(shí)間圖:1、該圖提供了在整個(gè)測(cè)試過(guò)程中交易響應(yīng)時(shí)間的細(xì)節(jié)信息。2、根據(jù)該圖,我們可以確定響應(yīng)時(shí)間緩慢的交易。3、根據(jù)該圖,我們可以測(cè)試過(guò)程中出現(xiàn)性能問(wèn)題的轉(zhuǎn)折點(diǎn)。分析性能測(cè)試結(jié)果_分解頁(yè)面通過(guò)分解頁(yè)面可以得到:比較大的響應(yīng)時(shí)間到底是頁(yè)面的哪個(gè)組件引起的?問(wèn)題出在服務(wù)器上還是網(wǎng)絡(luò)傳輸上。這里為了解說(shuō)各個(gè)時(shí)間(比如
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 感恩老師發(fā)言稿14篇
- 安全主題教育活動(dòng)方案
- 汽車租賃服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 連云港做實(shí)“一帶一路交匯點(diǎn)”建設(shè)的對(duì)策思考
- 公司財(cái)務(wù)知識(shí)分享
- 基于生物信息學(xué)探索妊娠期糖尿病與尿苷代謝相關(guān)的關(guān)鍵基因
- 《駱駝祥子》 上課課件
- 二零二五版企業(yè)向個(gè)人發(fā)放汽車貸款合同示例3篇
- 科創(chuàng)孵化器項(xiàng)目融資報(bào)告
- 建立強(qiáng)大的醫(yī)院管理團(tuán)隊(duì)
- 數(shù)學(xué)-山東省2025年1月濟(jì)南市高三期末學(xué)習(xí)質(zhì)量檢測(cè)濟(jì)南期末試題和答案
- 中儲(chǔ)糧黑龍江分公司社招2025年學(xué)習(xí)資料
- 2024-2025學(xué)年人教版三年級(jí)(上)英語(yǔ)寒假作業(yè)(九)
- 《招標(biāo)投標(biāo)法》考試題庫(kù)200題(含答案)
- 河南退役軍人專升本計(jì)算機(jī)真題答案
- Q∕SY 06342-2018 油氣管道伴行道路設(shè)計(jì)規(guī)范
- 2022年五年級(jí)解方程小數(shù)和分?jǐn)?shù)計(jì)算題
- 海淀區(qū)重點(diǎn)中學(xué)初中英語(yǔ)新課標(biāo)1600詞匯表
- 營(yíng)業(yè)抄核收業(yè)務(wù)知識(shí)講座
- 1云南省初中綜合素質(zhì),完整版綜合素質(zhì)評(píng)定表
- 分公司經(jīng)營(yíng)模式
評(píng)論
0/150
提交評(píng)論