版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without noticeHP LoadRunner產(chǎn)品培訓(xùn)何康鑫中國惠普HP LoadRunner LoadRunner LoadRunner簡介簡介2 性能測試簡
2、介性能測試簡介1 LoadRunner LoadRunner測試測試流程流程3性能測試簡介性能性能測試相關(guān)測試相關(guān)術(shù)語:術(shù)語:響應(yīng)時間、并發(fā)用戶數(shù)、事務(wù)響應(yīng)時間、吞吐量、TPS(每秒事務(wù)數(shù))、性能計數(shù)器等。性能測試性能測試方法:方法:負(fù)載測試、壓力測試、疲勞測試、可靠性測試等。應(yīng)用應(yīng)用領(lǐng)域:領(lǐng)域:性能驗證、性能調(diào)優(yōu)、缺陷發(fā)現(xiàn)、容量規(guī)劃。性能測試工具架構(gòu):性能測試工具架構(gòu):一般包括以下部件:虛擬用戶腳本產(chǎn)生器(Virtual User Generator)、壓力產(chǎn)生器(LG)、壓力調(diào)度和監(jiān)控系統(tǒng)(Controller)、壓力結(jié)果分析工具(Analysis)。 性能性能測試測試是利用產(chǎn)品、人員和流
3、程來降低應(yīng)用程序、升級程序或補(bǔ)丁程序部署風(fēng)險的一種手段。性能測試的主要思想是通過產(chǎn)生模擬真實業(yè)務(wù)的壓力對被測系統(tǒng)進(jìn)行加壓,研究被測系統(tǒng)在不同壓力情況下的表現(xiàn),找出其潛在的瓶頸。LoadRunner簡介 HP LoadRunner是是評估評估系統(tǒng)系統(tǒng)行為和性能的負(fù)載測試工具。行為和性能的負(fù)載測試工具。它通過模擬實際用戶的操作行為和實時性能指標(biāo)監(jiān)測,來幫助測試人員更快的查找和發(fā)現(xiàn)問題。LoadRunner適用于各種體系架構(gòu),能支持廣泛的協(xié)議和技術(shù),為測試的特殊環(huán)境提供特殊的解決方案。通過使用LoadRunner,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能并加速應(yīng)用系統(tǒng)的發(fā)布周期。 LoadRunner
4、主要分為3個模塊,這3個模塊既可以作為獨(dú)立的工具分別完成各自的功能,又可以作為LoadRunner的一部分彼此銜接,與其他模塊共同完成軟件性能的整體測試。這3個模塊分別是: Virtual User Generator 用于錄制性能測試用于錄制性能測試腳本腳本 LoadRunner Controller 用于創(chuàng)建、運(yùn)行和監(jiān)控用于創(chuàng)建、運(yùn)行和監(jiān)控場景場景 LoadRunner Analysis 用于分析性能測試用于分析性能測試結(jié)果結(jié)果 LoadRunner的安裝過程比較簡單,運(yùn)行setup.exe,點(diǎn)擊“LoadRunner完整安裝”,按照向?qū)е鸩桨惭b就可以了。 提示:建議安裝過程關(guān)閉360等殺
5、毒軟件。否則可能出現(xiàn)安裝后,用Controller創(chuàng)建場景報錯:Failed to Connect to LoadRunner Controller,控制器無法使用。HP LoadRunner 工作流程5分析, 診斷和報告數(shù)據(jù)庫Internet/WAN中間層(HTTP, WebSphere, Server, Network)應(yīng)用最終用戶模擬成百上千用戶錄制交易“轉(zhuǎn)賬”“查詢余額”“付款”開發(fā)腳本1測試場景計劃和控制負(fù)載2產(chǎn)生負(fù)載3評估影響4LoadRunner簡介LoadRunner LoadRunner 常用術(shù)語常用術(shù)語: :1.場景場景(Scenario):場景即測試場景。在LoadRun
6、ner的Controller部件中,可以設(shè)計與執(zhí)行用例的場景,設(shè)置場景的步驟主要包括:在Controller中選擇虛擬用戶腳本、設(shè)置虛擬用戶數(shù)量、配置虛擬用戶運(yùn)行時的行為、選擇負(fù)載發(fā)生器(Load Generator)、設(shè)置執(zhí)行時間等。 2.負(fù)載發(fā)生器負(fù)載發(fā)生器(Load Generator):用來產(chǎn)生壓力的機(jī)器,受Controller控制,可以使用戶腳本在不同的主機(jī)上執(zhí)行。在性能測試工作中,通常由一個Controller控制多個Load Generator以對被測試系統(tǒng)進(jìn)行加壓。 3.虛擬用戶虛擬用戶(Virtual User/Vuser):對應(yīng)于現(xiàn)實中的真實用戶,使用LoadRunner模
7、擬的用戶稱為虛擬用戶。性能測試模擬多個用戶操作可以理解為:這些虛擬用戶跑腳本的過程,是模擬多個真正用戶的交易行為。 4.虛擬用戶腳本虛擬用戶腳本(Vuser script):通過Vuser Generator錄制或開發(fā)的腳本。這些腳本用來模擬用戶的行為。 LoadRunner簡介5.事務(wù)事務(wù)(Transaction):測試人員可以將一個或多個操作步驟定義為一個事務(wù)。在程序上,事務(wù)表現(xiàn)為被開始標(biāo)記和結(jié)束標(biāo)記圈定的一段代碼段。Loadrunner根據(jù)事務(wù)的開頭和結(jié)尾標(biāo)記,計算事務(wù)響應(yīng)時間、成功/失敗的事務(wù)數(shù)。6.思考時間思考時間(Think Time):即請求間的停頓時間。實際中,用戶在進(jìn)行一個操
8、作后往往會停頓然后再進(jìn)行下一個操作,為了更真實的模擬這種用戶行為而引進(jìn)該概念。在虛擬用戶腳本中用函數(shù)lr_think_time()來模擬用戶處理過程,執(zhí)行該函數(shù)時用戶線程會按照相應(yīng)的time值進(jìn)行等待。 7.集合點(diǎn)集合點(diǎn)(Rendezvous):設(shè)集合點(diǎn)是為了更好模擬并發(fā)操作。設(shè)了集合點(diǎn)后,運(yùn)行過程中用戶可以在集合點(diǎn)等待到一定條件后再一起發(fā)后續(xù)的請求。集合點(diǎn)在虛擬用戶腳本中對應(yīng)函數(shù)lr_rendezvous() 。 8.事務(wù)響應(yīng)時間事務(wù)響應(yīng)時間:事務(wù)響應(yīng)時間是一個統(tǒng)計量,是評價系統(tǒng)性能的重要參數(shù)。定義好事務(wù)后,在場景執(zhí)行過程和測試結(jié)果分析中即可以看到對應(yīng)事務(wù)的響應(yīng)時間。通過對關(guān)鍵或核心事務(wù)的執(zhí)
9、行情況進(jìn)行分析,以定位是否存在性能問題。 LoadRunner測試流程第一步第二步第三步第四步第五步規(guī)劃測試(計劃、用例)創(chuàng)建腳本設(shè)計場景運(yùn)行場景分析結(jié)果LoadRunner測試流程規(guī)劃測試規(guī)劃測試 確定測試要求,如并發(fā)用戶數(shù)量、典型業(yè)務(wù)場景流程;測試計劃;設(shè)計用例;創(chuàng)建創(chuàng)建VuserVuser腳本腳本 使用Virtual User Generator錄制、編輯和完善測試腳本。 設(shè)計設(shè)計場景場景 使用LoadRunner Controller 設(shè)置測試場景。運(yùn)行場景運(yùn)行場景 使用LoadRunner Controller 驅(qū)動、管理并監(jiān)控場景的運(yùn)行。分析結(jié)果分析結(jié)果 使用LoadRunner
10、Analysis 生成報告和圖表并評估性能。規(guī)劃測試 好的測試規(guī)劃,能夠指導(dǎo)整個測試過程,以更好的收集到測試目標(biāo)要求的性能數(shù)據(jù)。規(guī)劃可以包括測試的計劃、用例的設(shè)計、場景的設(shè)計、性能計數(shù)器設(shè)置的設(shè)計等。 以下列出幾點(diǎn)規(guī)劃事項: 1 1. .測試用例:測試用例:測試用例一般根據(jù)需要測試的功能進(jìn)行設(shè)計,如,一個典型的測試過程用例為:進(jìn)入登錄頁面-填用戶名密碼,登錄-單擊新增按鈕-填寫門店信息,保存。 2. 2.場景設(shè)計:場景設(shè)計:一般情況會設(shè)計兩種加壓方式進(jìn)行測試:瞬時加壓(多人同時進(jìn)行某項業(yè)務(wù)操作)與逐漸加壓(多人先后進(jìn)行某項業(yè)務(wù)操作,操作時間間隔根據(jù)計劃設(shè)定)。 3.3.性能計數(shù)器方面:性能計數(shù)
11、器方面:可以收集CPU時間、內(nèi)存、硬盤、網(wǎng)絡(luò)、數(shù)據(jù)庫參數(shù)、weblogic參數(shù)、websphere參數(shù)等。 創(chuàng)建Vuser腳本步驟 Loadrunner Loadrunner腳本開發(fā)步驟:腳本開發(fā)步驟: 錄制基本腳本增強(qiáng)/調(diào)試腳本設(shè)置運(yùn)行時設(shè)置運(yùn)行腳本穩(wěn)定腳本創(chuàng)建Vuser腳本錄制基本腳本1.1.啟動啟動LoadRunnerLoadRunner選擇開始程序 HPLoadRunnerLoadRunner,打開HP LoadRunner窗口。2.2.打開打開VuGenVuGen在LoadRunner Launcher窗格中,單擊Create/Edit Scripts,鏈接啟動Virtual use
12、r Generator起始頁。創(chuàng)建Vuser腳本錄制基本腳本3.3.創(chuàng)建一個空白創(chuàng)建一個空白WebWeb腳本腳本選擇FileNew菜單,或點(diǎn)擊 按鈕,打開New Virtual User對話框,顯示可供選擇腳本的協(xié)議。對于常用的應(yīng)用軟件,我們可以根據(jù)被測應(yīng)用是B/S結(jié)構(gòu)還是C/S結(jié)構(gòu)來選擇協(xié)議。根據(jù)選擇協(xié)議的不同,Virtual User Generator 會使用不同的方式和界面引導(dǎo)用戶完成腳本的錄制創(chuàng)建Vuser腳本錄制基本腳本4.4.錄制前的設(shè)置錄制前的設(shè)置選擇Web(HTTP/HTML),點(diǎn)擊Create按鈕,打開Start Recording對話框。選擇的協(xié)議不同,打開的窗口就會不同
13、,實例是針對Web錄制的對話框。 VuGen的腳本分為三個部分:Vuser_init,Action,Vuser_end。其中Vuser_init和Vuser_end都只能存在一個,而Action可以有多個,可以通過點(diǎn)擊旁邊的【new】按鈕來創(chuàng)建Action。在迭代執(zhí)行測試腳本時,Vuser_init和Vuser_end中的內(nèi)容只會執(zhí)行一次,迭代的是Action部分。創(chuàng)建Vuser腳本錄制基本腳本在Start Recording對話框,點(diǎn)擊Options按鈕,進(jìn)入錄制選項設(shè)置。一般要設(shè)置以下選項:1)RecordingHTTP/HTML level中設(shè)置腳本的顯示形式:URL_based scr
14、ipt。2)AdvancedSupport charset中設(shè)置編碼格式:UTF-8; 基于瀏覽器的應(yīng)用程序推薦使用HTML-based script。 不是基于瀏覽器的應(yīng)用程序推薦使用URL-based script。 基于瀏覽器的應(yīng)用程序中包含了JavaScript,并且該腳本向服務(wù)器發(fā)送了請求,比如DataGrid的分頁按鈕等,推薦使用URL-based script。 基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,建議使用URL-based script。 提示:錄制Web腳本時,生成的腳本中存在亂碼該如何解決? 新建腳本-選擇協(xié)議(Http)-選項-高級-選擇“支持字符集”并點(diǎn)選“
15、UTF-8”。 在回放腳本之前:Vuser-運(yùn)行時設(shè)置-瀏覽器-瀏覽器仿真-更改-使用瀏覽器-語言下來選擇 “中文(中國)”。創(chuàng)建Vuser腳本錄制基本腳本5.5.錄制錄制 在Start Recording對話框,點(diǎn)擊OK按鈕,開始錄制。系統(tǒng)自動彈出IE,加載營銷系統(tǒng)的登錄界面。 在錄制的過程中,屏幕上有一個懸浮的錄制工具欄,是腳本錄制過程中測試人員和VuGen交互的主要平臺。熟悉錄制腳本工具欄:熟悉錄制腳本工具欄:創(chuàng)建Vuser腳本錄制基本腳本登錄系統(tǒng)新增門店注銷 通過操作被測系統(tǒng),操作的每一個步驟都被記錄,在錄制的過程中,可以在相應(yīng)的步驟插入action、事務(wù)、檢查點(diǎn)、集合點(diǎn)等信息。錄制完
16、成后單擊 按鈕,Loadrunner開始生成腳本,生成的腳本如圖所示。 熟悉兩種腳本查看方式:熟悉兩種腳本查看方式:Script View 可以查看全部錄制的腳本代碼(右圖)Tree View 可以查看每個URL獲取來的頁面(左圖)Tree ViewScript View創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本1.1.插入事務(wù)插入事務(wù) 插入事務(wù)是用于把功能分為若干部分,在統(tǒng)計性能指標(biāo)時,可以對不同的事務(wù)分別作統(tǒng)計。如果對腳本不是太熟悉,可以在錄制的時候,逐步插入。也可以在錄制完成之后,在腳本中插入。 在錄制時插入操作為:在錄制時插入操作為:錄制某個功能開始前單擊插入事務(wù)的起始點(diǎn)錄制,直到某個功能結(jié)束插
17、入事務(wù)的結(jié)束點(diǎn)。 在腳本的插入方式為:在腳本的插入方式為:插入事務(wù)起始點(diǎn):單擊某個功能起始前的空白處右鍵鼠標(biāo)insertstart transaction命名OK。系統(tǒng)自動在腳本語句中插入如下語句:lr_start_transaction(登錄);插入事務(wù)結(jié)束點(diǎn):單擊某個功能結(jié)束后的空白處右鍵鼠標(biāo)insertend transaction命名(與起始點(diǎn)的名字一致)OK。系統(tǒng)自動在腳本語句中插入如下語句:lr_end_transaction(登錄,LR_AUTO);例如分別設(shè)置兩個事務(wù):登錄、新增門店。通過檢查運(yùn)行日志來確定Transaction的執(zhí)行結(jié)果創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本2.2.
18、參數(shù)化參數(shù)化 參數(shù)化的作用是在進(jìn)行場景執(zhí)行的時候,每個不同的虛擬用戶可以按照參數(shù)的讀取策略讀取到參數(shù)值,以模擬不同用戶提交或者讀取不同的數(shù)據(jù)。 每個用戶在界面上讀取和提交的信息都不太相同,因此一般都需要參數(shù)化,其它與輸入信息對應(yīng)的比如用戶id之類的信息也需要參數(shù)化;下面將分四部分來介紹參數(shù)化的方法和實施過程: 確定需要參數(shù)化的常量確定需要參數(shù)化的常量 準(zhǔn)備數(shù)據(jù)準(zhǔn)備數(shù)據(jù) 對腳本進(jìn)行參數(shù)化對腳本進(jìn)行參數(shù)化 還原初始字符串還原初始字符串創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本 確定需要參數(shù)化的常量確定需要參數(shù)化的常量 打開腳本后,首先要確定哪些常量需要參數(shù)化。 可以看出,在web_submit_data函數(shù)
19、中,兩條語句包含了兩個常量:UserNumber和密碼。 Name=txtUserNumber, Value=220999, ENDITEM, Name=txtPassword, Value=888888, ENDITEM, 當(dāng)我們想模擬多個不同的用戶來運(yùn)行登錄腳本的時候,需要對Value=220999和Value=888888進(jìn)行參數(shù)化。 另外,新增門店的腳本代碼中,門店名稱具有必填+唯一的屬性,也需要做參數(shù)化設(shè)置。其它還有哪些常量需要參數(shù)化,可以根據(jù)業(yè)務(wù)場景來確定。創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本準(zhǔn)備數(shù)據(jù)準(zhǔn)備數(shù)據(jù) 根據(jù)實例,我們需要準(zhǔn)備門店號、密碼、門店名稱這三個參數(shù)的數(shù)據(jù)。對于門店號門店
20、號和密碼密碼,我們準(zhǔn)備下述可以直接登錄系統(tǒng)的帳號數(shù)據(jù):220999 888888210996 888888220995 888888210998 888888220990 888888220997 888888220991 888888210993 888888220994 888888220992 888888對于門店名稱門店名稱,我們準(zhǔn)備下述不同的名稱:天河城東門店廣百百貨體育西路店正佳廣場店天河城旗艦店體育西路門店石牌橋分店崗頂旗艦店天河北路分店體育東路店珠江新城總店創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本對腳本進(jìn)行參數(shù)化對腳本進(jìn)行參數(shù)化以門店號參數(shù)化為例,參數(shù)化過程如下:1)選中220999右
21、擊鼠標(biāo)在右鍵菜單上選擇replace with a parameter。2)在彈出窗口填寫參數(shù)名稱,或選擇一個已經(jīng)存在的參數(shù)名。常用的參數(shù)類型:常用的參數(shù)類型:Data/Time:使用當(dāng)前日期/時間替換所選常量。Group Name:使用Vuser組的名稱替換所選常量。Load Generator Name:使用Vuser腳本的負(fù)載發(fā)生器名替換所選常量。Iteration Number:使用當(dāng)前的迭代編號替換所選常量。Random Number:使用一個隨機(jī)生成的整數(shù)替換所選常量,可以通過參數(shù)屬性設(shè)定參數(shù)的范圍。Unique Number:使用一個唯一編號替換所選常量,可以通過參數(shù)屬性設(shè)定參數(shù)
22、的第一個值和遞增的規(guī)則。Vuser ID:使用運(yùn)行腳本的虛擬用戶ID來代替選擇的常量。File:采用外部的數(shù)據(jù)來代替,可以使用單獨(dú)的文件,也可以使用現(xiàn)成的數(shù)據(jù)庫中獲取數(shù)據(jù)。User Defined Function:從用戶開發(fā)的dll文件中獲取數(shù)據(jù)。實例中填寫參數(shù)名稱:UserNumber;選擇參數(shù)類型File,來寫入已準(zhǔn)備好的數(shù)據(jù)。創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本3)單擊窗口的properties按鈕,設(shè)置parameter的properties。文件文件File:參數(shù)化結(jié)束后,腳本保存的根目錄下會自動生成一個 以參數(shù)名稱命名的 參數(shù)文件;也可以直接選擇一個已準(zhǔn)備好的參數(shù)文件。選擇參數(shù)列選擇
23、參數(shù)列Select Column:By number:以列號為參數(shù)列。By name:以列名為參數(shù)列。文件格式:文件格式: Column:參數(shù)之間的分隔符:逗號、空格、Tab。 First data:從第幾行讀取數(shù)據(jù)。選擇參數(shù)分配方法選擇參數(shù)分配方法Select next row:Sequential:順序的分配Vuser參數(shù)值。當(dāng)正在運(yùn)行的Vuser訪問數(shù)據(jù)表格時,它將會提取下一個可用的數(shù)據(jù)行。Random:當(dāng)腳本開始運(yùn)行時,“隨機(jī)”的為每個Vuser分配一個數(shù)據(jù)表格中的隨機(jī)值。Unique:為Vuser的參數(shù)分配一個“唯一”的順序值。注意,參數(shù)數(shù)量一定要大于等于“Vuser量*迭代數(shù)量”。
24、選擇參數(shù)更新方法選擇參數(shù)更新方法Update value on:Each iteration:腳本每次迭代都順序的使用數(shù)據(jù)表格中的下一個新值。Each occurrence:在迭代中只要遇到該參數(shù)就重新取值。Once:在所有的迭代中都使用同一個值。當(dāng)超出范圍時當(dāng)超出范圍時When out of values:(選擇數(shù)據(jù)為:(選擇數(shù)據(jù)為unique時才可用到)時才可用到)Abort Vuser:中止。Continue in a cyclic manner:繼續(xù)循環(huán)取值。Continue with last value:取最后一個值。 設(shè)置完成后,被參數(shù)化的值會被參數(shù)名代替。實例中設(shè)置參數(shù)名為Us
25、erNumber,腳本原先220999部分變?yōu)榱俗霞t色的UserNumber。 創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本還原初始字符串還原初始字符串 通過VuGen,可以還原最初錄制的字符串從而撤消參數(shù)化。方法為:在腳本視圖中,右鍵單擊該參數(shù)并選擇“Restore original value()”。 設(shè)置完成后,該參數(shù)被還原為初始字符串。實例中的參數(shù)UserNumber,被還原為初始的220999。 創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本3.3.插入集合點(diǎn)插入集合點(diǎn)腳本運(yùn)行時,只有當(dāng)?shù)竭_(dá)集合點(diǎn)的虛擬用戶數(shù)滿足設(shè)置要求時,才會繼續(xù)往下運(yùn)行。 插入集合點(diǎn)可以在錄制的時候,逐步插入,也可以在錄制完成之后,在腳本
26、中插入。需要注意的是,集合點(diǎn)只能插入Action部分的腳本中,不能插入vuser_init和vuser_end兩部分腳本中。 在錄制時插入操作為在錄制時插入操作為:錄制某個功能開始前單擊插入集合點(diǎn)命名OK 在腳本的插入方式為:在腳本的插入方式為:單擊需要插入集合點(diǎn)的功能開始前的空白處右鍵鼠標(biāo)insert rendezvous命名OK。 系統(tǒng)自動在腳本語句中插入如下語句:lr_rendezvous(新增門店);創(chuàng)建Vuser腳本增強(qiáng)/編輯腳本4 4. .其他其他 前面講解了插入事務(wù)、插入集合點(diǎn)、參數(shù)化插入事務(wù)、插入集合點(diǎn)、參數(shù)化的方法,一般的腳本都需要做以上幾項的修改工作。此外,還可以通過插入注
27、釋、插入檢查點(diǎn)來完善腳本。 插入注釋:插入注釋:在腳本中插入注釋,可以清晰找到需要修改的位置,增強(qiáng)腳本的可讀性。 插入檢查點(diǎn):插入檢查點(diǎn):在腳本中設(shè)置檢查點(diǎn)函數(shù),將返回值的結(jié)果反映在Controller的狀態(tài)面板上和Analysis統(tǒng)計結(jié)果中,由此可以判斷數(shù)據(jù)傳遞的正確性。 設(shè)置回放的運(yùn)行時刻設(shè)置Run-time SettingsRun LogicPacingLogThink TimeMiscellaneousSpeed SimulationBrowser EmulationProxyPreferencesContentCheckall protocolsWeb獨(dú)有創(chuàng)建Vuser腳本配置運(yùn)行時
28、設(shè)置 在VuGen中,選擇 VuserRun-time Settings,可以設(shè)定腳本回放過程的一些參數(shù)。如Iteration Count (迭代次數(shù))、Think Time (思考時間)、Error Handling(錯誤處理)、Multithreading(運(yùn)行方式)等。1 1.Iteration Count (.Iteration Count (迭代迭代次數(shù)次數(shù)) ) 選擇General:Run Logic 說明:設(shè)定每個Action的迭代次數(shù)。創(chuàng)建Vuser腳本配置運(yùn)行時設(shè)置2 2.Think Time (.Think Time (思考時間思考時間) ) 選擇General:Think
29、 Time 說明:設(shè)定腳本回放時對思考時間的處理方式。Ignore think timeIgnore think time腳本回放時,將不執(zhí)行l(wèi)r_think_time()函數(shù),這樣會給服務(wù)器產(chǎn)生更大的壓力。Replay think timeReplay think time腳本回放時,執(zhí)行l(wèi)r_think_time()函數(shù),具體執(zhí)行方式有一下3種:1)按照錄制時獲取的think time值回放。2)按照錄制時獲取值的整數(shù)倍數(shù)回放腳本。3)制定一個最大和最小的比例,按照兩者之間的隨機(jī)值回放腳本。Limit think time to 選項,用于限制think time的最大值,腳本回放過程中,
30、如果發(fā)現(xiàn)有超過這個值的,用這個最大值替代。創(chuàng)建Vuser腳本配置運(yùn)行時設(shè)置3 3.Error Handling(.Error Handling(錯誤處理錯誤處理) ) 選擇General:Miscellaneous 說明:設(shè)定遇到錯誤時的處理方式。Continue on errorContinue on error遇到錯誤時繼續(xù)運(yùn)行。Fail open transactions on Fail open transactions on lr_error_messagelr_error_message執(zhí)行到事務(wù)中調(diào)用的lr_error_message()函數(shù)時將事務(wù)的結(jié)果置為Failed。Gen
31、erate snapshot on errorGenerate snapshot on error對錯誤進(jìn)行快照。4.4.Multithreading(Multithreading(運(yùn)行方式運(yùn)行方式) ) 選擇 General:Miscellaneous 說明:設(shè)定腳本是以多線程方式運(yùn)行還是以多進(jìn)程方式運(yùn)行。創(chuàng)建Vuser腳本試運(yùn)行腳本1.腳本錄制完畢后,點(diǎn)擊菜單中的 按鈕,可以試運(yùn)行腳本?;胤胚^程中VuGen在下方同步顯示日志。2.如果需要查看不同的日志形式,可以在腳本頁面菜單的vuserruntime-settingslog選擇不同的項,回放腳本時將顯示不同級別的日志。創(chuàng)建Vuser腳本試
32、運(yùn)行腳本3.運(yùn)行結(jié)束后,系統(tǒng)會給出相應(yīng)的運(yùn)行結(jié)果,可以通過ViewTest Results查看回放結(jié)果。 在VuGen中試運(yùn)行腳本的作用,主要是查看錄制的腳本能否正常通過,如果有問題,系統(tǒng)會給出提示信息,并定位到出錯的行上,便于用戶查找到錯誤,修改完善測試腳本。常用的腳本調(diào)試的工具 Test Results window Execution Log Snapshot Results window Page View Server Response Client Request Run-Time Viewer定義場景 腳本準(zhǔn)備完成后,可以根據(jù)場景用例設(shè)置場景。Controller控制器提供了手動
33、和面向目標(biāo)兩種測試場景。 手動設(shè)計場景手動設(shè)計場景(Manual Scenario)最大的優(yōu)點(diǎn)是能夠更靈活地按照需求來設(shè)計場景模型,使場景能更好地接近用戶的真實使用。一般情況下使用手動場景設(shè)計方法來設(shè)計場景。 面向目標(biāo)場面向目標(biāo)場景景(Goal Oriented Scenario)則是測試性能是否能達(dá)到預(yù)期的目標(biāo),在能力規(guī)劃和能力驗證的測試過程中經(jīng)常使用。 本次介紹手動設(shè)計場景的下述幾個步驟: 創(chuàng)建場景創(chuàng)建場景 設(shè)置設(shè)置scheduleschedule 設(shè)置集合點(diǎn)設(shè)置集合點(diǎn) 多機(jī)聯(lián)合產(chǎn)生負(fù)載多機(jī)聯(lián)合產(chǎn)生負(fù)載 設(shè)置設(shè)置IPIP欺騙欺騙 設(shè)置負(fù)載均衡設(shè)置負(fù)載均衡 設(shè)置設(shè)置WindowsWindow
34、s資源監(jiān)控器資源監(jiān)控器Scenario 類型 定義場景創(chuàng)建場景 Controller控制器可以從程序中打開,然后選擇保存好的腳本;也可以從VuGen中直接連接到該腳本的控制場景。步驟如下:1.打開controller手動場景設(shè)計2.在彈出窗口選擇虛擬用戶數(shù)、運(yùn)行結(jié)果保存目錄(按照事先約定選擇目錄,結(jié)果文件的命名最好包含用戶數(shù)/加壓方式/場景名)、負(fù)載產(chǎn)生的負(fù)載機(jī)所在地。 定義場景創(chuàng)建場景3.在Create Scenario窗口中點(diǎn)擊OK,鏈接啟動LoadRunner Controller。 定義場景設(shè)置Schedule1.1.設(shè)置設(shè)置場景的基本場景的基本信息信息 Schedule Name S
35、chedule Name:設(shè)置場景名稱。 Schedule bySchedule by:選擇按場景計劃或按用戶組計劃。 Run ModeRun Mode: basic schedule 是我們以前用的經(jīng)典模式,只能設(shè)置一次負(fù)載的上升和下降。 在Controller的Scenario Schedule中,可以設(shè)置場景的各項計劃,如虛擬用戶的加載方式、釋放策略等。定義場景設(shè)置ScheduleInitialize:初始化是指運(yùn)行腳本中的Vuser_init操作,為測試準(zhǔn)備Vuser和Load Generator。Start Vusers:設(shè)置場景Vuser加載方式。定義場景設(shè)置ScheduleSto
36、p Vusers:設(shè)置場景執(zhí)行完成后虛擬用戶釋放的策略。Duration:設(shè)置場景持續(xù)運(yùn)行的情況。定義場景設(shè)置Schedule 根據(jù)前述Scenario Schedule的設(shè)置方法,可以將實例中10個用戶新增門店的場景設(shè)計如下:2)逐步加壓Schedule NameSchedule Name:Gradual_10Schedule bySchedule by:ScenarioRun ModeRun Mode:basic scheduleStart VuserStart Vuser:2 Vusers every 00:00:30(HH:MM:SS)Start Time:設(shè)置場景啟動時間。1)瞬時加
37、壓Schedule NameSchedule Name:Instant_10Schedule bySchedule by:ScenarioRun ModeRun Mode:basic scheduleStart VuserStart Vuser:Simultaneously定義場景設(shè)置集合點(diǎn) LR在運(yùn)行場景的時候,允許測試人員根據(jù)項目需要自己設(shè)定集合點(diǎn)的并發(fā)策略。單擊Controller菜單欄的ScenarioRendezvous,可以查看場景中所有的集合點(diǎn)名稱、所屬腳本、當(dāng)前狀態(tài)和相關(guān)的虛擬用戶列表信息等,根據(jù)系統(tǒng)需求,還可以針對集合點(diǎn)的執(zhí)行進(jìn)行設(shè)定。1.1.集合集合點(diǎn)點(diǎn)設(shè)置設(shè)置 單擊Dis
38、able/Enable Rendezvous按鈕可以選定集合點(diǎn)是否啟用。 單擊Disable/Enable VUser按鈕可以設(shè)定一個用戶是否參與到集合點(diǎn)中。 單擊Policy按鈕可以設(shè)定集合點(diǎn)執(zhí)行策略。定義場景設(shè)置集合點(diǎn)2.2.集合集合點(diǎn)策略設(shè)置點(diǎn)策略設(shè)置第一項:當(dāng)前所有用戶數(shù)的X%到達(dá)集合點(diǎn)時,開始釋放等待的用戶并繼續(xù)執(zhí)行場景。第二項:當(dāng)前正在運(yùn)行用戶數(shù)的X%到達(dá)集合點(diǎn)時,開始釋放等待的用戶并繼續(xù)執(zhí)行場景。第三項:當(dāng)X個用戶到達(dá)集合點(diǎn)時,開始釋放等待的用戶并繼續(xù)執(zhí)行場景。Timeout betweenVusers:設(shè)定一個超時時間,當(dāng)?shù)谝粋€用戶到達(dá)集合點(diǎn)時,系統(tǒng)開始計時,如果在這個設(shè)定的時
39、間內(nèi)沒有達(dá)到指定的用戶數(shù),系統(tǒng)就不再等待,釋放用戶讓場景繼續(xù)執(zhí)行。3.3.手動手動釋放釋放VuserVuser 在場景運(yùn)行過程中,點(diǎn)擊Status Information列表的Release按鈕,可以手動釋放等待中的虛擬用戶。定義場景多機(jī)聯(lián)合產(chǎn)生負(fù)載 為了避免一臺測試機(jī)器模擬的虛擬用戶數(shù)過多,他本身性能的下降直接影響測試效果,LR允許使用多臺機(jī)器運(yùn)行場景來均衡測試機(jī)器的負(fù)荷。只要一臺機(jī)器安裝了Load Generator并啟動了LoadRunner Agent Process進(jìn)程,就可以被Controller統(tǒng)一調(diào)度來運(yùn)行場景,Controller負(fù)載收集統(tǒng)一的測試信息和執(zhí)行結(jié)果。 單擊菜單S
40、cenarioLoad Generator,可以查看到所有已經(jīng)加載的Load Generator信息。NameName:Load Generator所在的機(jī)器名稱。StatusStatus:標(biāo)識了Generator目前的狀態(tài)。PlatformPlatform:顯示了系統(tǒng)的平臺名稱。 單擊Add按鈕,可以添加新的Load Generator;單擊Connect按鈕,LR的Controller就會嘗試去連接選中的Load Generator,如果連接成功就在Status字段中顯示Ready,如果失敗就會顯示Failed。定義場景設(shè)置IP欺騙 IP欺騙技術(shù)就是讓一個Load Generator上的虛
41、擬用戶模擬從不同的IP來向服務(wù)器發(fā)起請求,以達(dá)到以假亂真的目的,提高單臺壓力機(jī)器的資源利用率。1.1.配置配置IP SPOOFERIP SPOOFER LR配置動態(tài)IP的工具是程序組中的一個小工具IP Wizard,它能夠指導(dǎo)用戶按步驟完成配置過程。Step1Step1:選擇下述一項進(jìn)行設(shè)置。第一項:用于創(chuàng)建一個新的設(shè)置,首次運(yùn)行時選用。第二項:調(diào)用以前保存的設(shè)置。第三項:將設(shè)置恢復(fù)為原始狀態(tài),此選項主要用于使用后釋放IP。Step2Step2:輸入您的IP地址。這里主要用來檢測新的IP地址加到主機(jī)中后,Server的路由表是否需要更新,如果Server和Client使用的是相同的子網(wǎng)掩碼,I
42、P Class類型和網(wǎng)絡(luò),是無需更新的。定義場景設(shè)置IP欺騙Step3:添加新的動態(tài)IPPrivate Private Address SpacesAddress Spaces:選擇測試環(huán)境的IP地址類型。From From IPIP:要使用IP段的第一個值。Numberto Numberto addadd:要使用的IP地址的數(shù)目。SubmaskSubmask:子網(wǎng)掩碼,一般采用默認(rèn)設(shè)置就可以了。 如果選中Verify that new IP Address are not Already in use,系統(tǒng)會在所選范圍內(nèi)檢測每個IP地址,為了避免沖突,LR只添加那些沒有被其他用戶使用的IP地
43、址。 如果已經(jīng)預(yù)先知道選擇范圍內(nèi)的某些地址可能被占用,那么在Number to文本框中輸入的IP地址的個數(shù)就要有相應(yīng)的增加。定義場景設(shè)置IP欺騙2.2.啟用啟用IPIP欺騙欺騙 在Controller中勾選菜單ScenarioEnable IP Spoofer,就可以啟用IP欺騙了,在IP欺騙啟用后,Controller狀態(tài)欄中會顯示相應(yīng)的狀態(tài)標(biāo)識: 。然后單擊菜單欄ToolsOptions,在彈出的對話框中單擊General標(biāo)簽以設(shè)定IP地址的分配方式。定義場景設(shè)置負(fù)載均衡 這里的負(fù)載均衡是用來解決測試過程中,負(fù)載機(jī)分配不均的問題。方法為:先選擇ScenarioConvert Scenari
44、o to the Percentage Mode,將場景模式由用戶組切換為百分比,然后在已經(jīng)添加好的Load Generators機(jī)器列表中選擇需要的機(jī)器。這樣就可以保證負(fù)載機(jī)均勻地對服務(wù)器施壓。 性能監(jiān)控Internet/IntranetDatabaseserverAppserversWebserversClientsLoadRunner offers wide range of performance monitors for isolating bottlenecksMonitors gather data for online/offline analysis Monitors dis
45、play real-time data during testing Monitors gather data for offline root cause analysis after testingApart from Transactions performance, you need Performance monitors to highlight system component bottlenecks定義場景設(shè)置Windows資源監(jiān)控器 通過添加Windows資源監(jiān)控器,可以監(jiān)控負(fù)載對服務(wù)器的CPU、內(nèi)存、磁盤等資源的影響。在監(jiān)視服務(wù)器之前要做一些工作來確保監(jiān)視連接成功。 被監(jiān)視主機(jī)的訪問模式改為:經(jīng)典-本地用戶以自己的身份驗證;且必須設(shè)置密碼。 被監(jiān)視系統(tǒng)開啟以下三個服務(wù):Remote ProcedureCall(RPC)和Remote Procedure Call(RPC)、Remote Registry。 確認(rèn)安裝Controller的機(jī)器可以連接到被監(jiān)視的機(jī)器。 確認(rèn)并打開共享文件C$。 上述工作的詳細(xì)方法不再
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路養(yǎng)護(hù)工程承包合同三篇
- 智能家居工程師的設(shè)計理念與技術(shù)要求
- 初三班主任期中工作總結(jié)耐心教導(dǎo)成功引領(lǐng)
- 垃圾處理站保安工作總結(jié)
- 汽車行業(yè)的美工工作總結(jié)
- 《汽車及配件營銷》課件
- 《美容新術(shù)課件》課件
- 2023年四川省阿壩自治州公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2023年廣東省湛江市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年貴州省黔東南自治州公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024-2025學(xué)年廣東省第一次普通高中學(xué)業(yè)水平合格性考試物理仿真模擬卷三及答案
- 護(hù)理安全小組工作計劃
- 2025辦公室無償租賃合同范本
- 2024年12月八省八校T8聯(lián)考高三高考物理試卷試題(含答案)
- 遼寧省撫順市撫順縣2023-2024學(xué)年八年級上學(xué)期期末考試數(shù)學(xué)試卷(含解析)
- 《中國武術(shù)的起源》課件
- 期末測試卷(試題)(含答案)2024-2025學(xué)年北師大版數(shù)學(xué)五年級上冊
- 2024年道路運(yùn)輸安全生產(chǎn)管理制度樣本(5篇)
- 2024年度股權(quán)轉(zhuǎn)讓合同標(biāo)的及受讓方條件
- 起重機(jī)司機(jī)-特種設(shè)備操作Q2證考試練習(xí)題(含答案)
- 2024年《瘧疾防治知識》課件
評論
0/150
提交評論