您當前的位置:首頁 > 體育

LoadRunner教程獨家中文版

作者:由 半道出家的lv 發表于 體育時間:2020-05-28

附上loadrunner12百度雲:

連結:

https://

pan。baidu。com/s/18Pnsc7

iDUfY_odIrjFknyA

提取碼:apc0

前些日子偶然看到一篇關於loadrunner12的教程,感覺對loadrunner小白很友好呀,自己複製下來又整理了一下,原文出處:

HP LoadRunner 12。02 Tutorial T7177-88037教程獨家中文版

HP LoadRunner 12。02 Tutorial T7177-88037教程獨家中文版

目錄

HP LoadRunner 12。02 Tutorial T7177-88037教程獨家中文版 1

Welcome to the LoadRunner Tutorial 2

LoadRunner所包含的元件 2

LoadRunner術語 3

LoadRunner負載測試流程: 4

開始HP Web Tours(惠普線上旅遊) 5

定義應用的效能需求 6

第一課:建立一個Vuser指令碼 7

介紹一下Vugen——Virtual User Generator(虛擬使用者發生器) 7

建立一個空的虛擬使用者(Vuser)指令碼 7

錄製一個虛擬使用者指令碼 8

檢視虛擬使用者指令碼 12

第二課:回放你的指令碼 14

怎樣設定虛擬使用者的runtime行為? 14

我怎麼執行我的Vuser指令碼? 18

我在哪裡可以看到回放資訊? 19

我怎麼知道我的腳本回放是否成功? 21

我應該怎樣查詢或過濾回放結果? 22

第三課:解決回放過程中所遇到的一般問題 25

為HP Web Tours的回放錯誤做準備 26

我們對於獨一無二的伺服器值是如何處理的? 26

第四課:為負載測試準備一個虛擬使用者指令碼 29

怎樣去估量一個業務流程的持續時間呢? 29

要怎樣才能模仿多個使用者? 31

我怎樣確認網頁上的內容? 36

我應該怎樣去生成除錯資訊? 41

我的腳本回放真的成功了嗎? 42

第五課:建立一個負載測試場景 44

介紹一下LoadRunner Controller 44

我怎麼樣開始使用Controller? 45

初識Controller 48

我怎樣修改指令碼中的細節? 48

我怎樣對系統產生一個負載? 49

我怎樣去模模擬實的負載行為呢? 50

我應該怎樣模擬不同種類的使用者呢? 54

在負載的情況下我要怎樣監控系統? 58

第六課:執行負載測試 61

初始Controller Run檢視 62

我怎樣執行一個負載測試場景? 63

在負載情況下該如何管理應用程式呢? 64

要怎樣才能實時的觀察一個虛擬使用者的執行? 66

我在哪裡可以看到一個關於虛擬使用者操作(Vuser actions)的總結? 68

怎樣在測試中增加負載? 68

應用在負載的情況下是怎樣執行的? 70

你的應用遭遇錯誤了嗎? 71

我怎樣得知場景是否已經執行結束? 72

你的系統是否在負載下執行良好? 72

第七課:分析你的場景 73

Analysis Session是怎麼工作的? 73

我怎樣開始我的分析會話? 73

初始Analysis視窗 75

我達到了我的目標嗎?(Service Level Agreement) 76

我怎樣定義一個SLA? 77

我要怎樣檢視效能的總結? 83

我要看的到的效能! 85

我的伺服器是否效能良好? 88

儲存一個模板(template) 91

我怎樣精確定位問題所出自的根源? 93

我還可以收集到和場景執行相關的其他資訊嗎? 96

我怎樣釋出我的發現? 97

總結 106

LoadRunner 12.02教程獨家中文版

Tylan獨家嘔血翻譯

轉載請註明出自“天外歸雲”的部落格園

Welcome to the LoadRunner Tutorial

LoadRunner所包含的元件

如下所示:

LoadRunner教程獨家中文版

Vugen:Virtual User Generator,虛擬使用者發生器的簡稱,用來錄製使用者的業務流程,建立自動化效能測試指令碼,亦稱之為Vuser指令碼。

Controller:控制器,用於組織、驅動、管理並監控負載測試。

Analysis:分析器,幫助你檢視,剖析並比較負載測的結果報告。

Load Generator:負載發生器,用來攢動與執行虛擬使用者以對目標系統產生負載的計算機。

LoadRunner術語

LoadRunner教程獨家中文版

場景:在場景中將根據效能需求來定義測試過程中所發生的事件。

虛擬使用者:虛擬使用者會在系統中模模擬實使用者的行為。一個場景可以包含數以千計的虛擬使用者。

虛擬使用者指令碼:錄製了你在程式中所操作的業務流程。

協議:協議就是客戶端和伺服器之間的交流方式。

事務:事務用以衡量你的系統性能。一個事務代表了一個或多個終端使用者的業務流程。一個事務讓你衡量業務流程所花費的時間成為可能。

LoadRunner教程獨家中文版

指令碼足跡:由負載發生器所需的大量不同資源所定義,以執行Vuser指令碼為目的。典型的資源包括記憶體,CPU能源,硬碟空間。

LoadRunner負載測試流程:

LoadRunner教程獨家中文版

計劃負載測試:計劃你的負載測試都需要做哪些準備,比如:併發的使用者數,主要的業務流程,和需要的相應次數等。

建立Vuser指令碼:用VuGen把終端使用者的操作活動錄製成指令碼。

設計場景:用Controller建立一個負載測試的環境。

執行場景:用Controller驅動,管理並監控這個負載測試。

分析結果:用LoadRunner Analysis生成圖表與報表,對系統的效能進行評估。

開始HP Web Tours(惠普線上旅遊)

為了理解LoadRunner是如何做為負載測試的解決方案,這個教程將用效能需求作為一個樣本應用。這個樣本應用——HP Web Tours(惠普線上旅遊),是一個web-based(基於網路的)旅遊代理系統。HP Web Tours的使用者連線到一個web伺服器,用於搜尋與預訂航班,檢查航班行程。

LoadRunner支援超過50種應用,這個教程僅僅用來講述怎樣來對一個web-based型別的應用進行負載測試。如果你要對其他型別的應用進行負載測試,請聯絡惠普以求幫助。

在教程的這一部分中,你將會學到如何開始並登入HP Web Tours。

1。開啟樣本的web server:選擇Start > All Programs > HP Software > HP LoadRunner > Samples > Web >Start HP Web Tours Server,在基於圖示的桌面中,比如Win8,查詢“Start HP”,在Search結果中選擇並開啟“Start HP Web Tours Server”。在你訪問這個應用的同時你一定要讓 “Start HP Web Tours Server”的視窗始終開著。

2。開啟HP Web Tours:選擇Start > All Programs > HP Software > HP LoadRunner > Samples > Web > HP Web Tours Application。Win8同上,搜尋HP Web,選擇HP Web Tours Application。(確保你的LoadRunner安在你的計算機的預設資料夾中,否則HP Web Tours Application不會被開啟。)

3。登陸HP Web Tours:

使用者名稱和密碼分別輸入jojo和bean

點選login。

LoadRunner教程獨家中文版

4。預訂航班:

在左側導航欄中點選Flights,Find Flight頁面被開啟;

Arrival City選擇Los Angeles;

點選Continue;

在跳轉頁面保持預設設定,點選Continue;

在Payment Details頁面,點選Continue,Invoice頁面顯示了你的機票預訂資訊;

5。在左側導航欄中點選Sign Off。

定義應用的效能需求

現在你已經熟悉了HP Web Tours,設想你是效能工程師,你要對HP Web Tours的效能負責並讓其符合HP Web Tours的商業需求。你的產品經理已經給出了四點產品的釋出標準:

HP Web Tours必須能撐得住10個併發的旅遊客戶端;

HP Web Tours必須能同時執行十個航班預訂,並且響應時間不得超過90秒;

HP Web Tours必須能夠撐住10個旅遊客戶端同時執行itinerary checks,並且響應時間不得超過120s;

這個教程將教你如何建立一個滿足所有這些需求的負載測試,以便於在產品釋出前你可以給出諸如產品效能透過或失敗的資料。

第一課:建立一個Vuser指令碼

要對你的系統產生負載,首先你要建立一個可以執行的能夠模模擬實使用者操作的Vuser指令碼。這裡,你需要用Vugen來完成這一需求。

介紹一下Vugen——Virtual User Generator(虛擬使用者發生器)

在一個性能測試環境中,LoadRunner用虛擬使用者代替了真實使用者,虛擬使用者也叫Vusers,虛擬使用者透過可預見的,重複性的模擬真實使用者操作來對系統產生負載。

Vugen幫你建立虛擬使用者指令碼,它以錄製與回放的原則去工作。當你在你的應用中完成一遍業務流程的同時,Vugen會記錄你的操作並將其按步驟翻譯成虛擬使用者指令碼。虛擬使用者指令碼是你負載測試的基礎構成。

建立一個空的虛擬使用者(Vuser)指令碼

去開發一個虛擬使用者指令碼,你首先要開啟Vugen並建立一個空指令碼。此後你才可以通過錄制事件或加入人為改善的方式來改善這個空指令碼。

本節你將建立一個基於Web-based HTTP/HTML協議的虛擬使用者指令碼。

定義:協議是伺服器與客戶端之間的交流方式。

接下來我們建立一個空的虛擬使用者指令碼:

1。點選你桌面上的Virtual User Generator圖示開啟Vugen。

LoadRunner教程獨家中文版

2。點選File>New Script and Solution,在彈出頁中選擇Web-based HTTP/HTML協議。(左側的Vugen Category一定確保是Single Protocol)

LoadRunner教程獨家中文版

錄製一個虛擬使用者指令碼

這部分內容將幫你完成之前預訂航班和檢查行程的錄製。

首先,你要點選Record>Recording Options:

LoadRunner教程獨家中文版

LoadRunner教程獨家中文版

確保Track processes created as COM local servers這一項是沒有勾選的,然後點選OK。

接下來我們錄製虛擬使用者指令碼:

1。開始在HP Web Tours網站上的錄製;

點選錄製按鈕:

LoadRunner教程獨家中文版

url處填寫:

http://

localhost:1080/WebTours

/

,其他保持預設,然後點選Start Recording:

LoadRunner教程獨家中文版

注意:確保你的Start HP Web Tours Server是開啟的,否則可能打不開HP Web Tours頁面。之後你會看到錄製框出來了:

LoadRunner教程獨家中文版

2。在彈出的HP Web Tours頁面輸入使用者名稱和密碼:jojo和bean,然後點選login;

3。Arrival City選擇Los Angeles,Seating Preference選擇Aisle其他保持預設,點選Continue;

4。點選Continue;

5。Credit Card欄輸入12345678,Exp Date欄填06/14,點選Continue;

6。點選左側Itinerary;

7。點選左側Sign Off;

8。點選Stop Recording按鈕:

LoadRunner教程獨家中文版

,彈出的頁面點選Close按鈕;

9。儲存指令碼:

File>Save Script As

名字取為basic_tutorial

檢視虛擬使用者指令碼

左側的Solution Explorer給出了Vuser指令碼的各個組成部分與相關檔案。

LoadRunner教程獨家中文版

Step Navigator以小圖示的形式列出了虛擬使用者各個步驟的操作,你在錄製指令碼的過程中所做的每一個操作,Vugen都會在Step Navigator中生成相應的步驟。

LoadRunner教程獨家中文版

每個步驟名字右側的小圖示代表有截圖:

LoadRunner教程獨家中文版

使用者的操作是以API函式的形式顯示在右邊的編輯器中的,你可以用C語言或者LoadRunner API函式或是一些流程控制語句在其中直接進行編寫。

LoadRunner教程獨家中文版

第二課:回放你的指令碼

上一節,你錄製了指令碼。但是在你把你的指令碼放到場景中執行前,你需要回放你的指令碼以檢查你錄製的Vuser指令碼是否能正常工作。

在你回放指令碼之前,你必須配置指令碼的runtime settings,它定義了虛擬使用者的行為。

怎樣設定虛擬使用者的runtime行為?

LoadRunner的執行時設定(runtime settings)讓你能夠模擬不同種類的使用者活動和行為。例如:你可以模擬一個對伺服器的輸出立刻做出響應的使用者,或者你也可以模擬一個每一步都要思考才能做出響應的使用者。你可以配置執行時設定(runtime settings)來具化虛擬使用者需要重複多少次指令碼中的操作。

本節介紹通用的可以應用與所有的虛擬使用者協議的runtime settings該如何配置,關於特殊的協議在第四節課中將會講到。General runtime settings包括:

Run Logic(執行邏輯):Vuser重複不同部分Vuser指令碼的次數。

Pacing(節奏):每兩次重複之間的等待時間。

Think Time(思考時間):指令碼之中步驟之間Vuser所需要停頓的時間。

Log:設定在你回放指令碼過程中所需要收集的資訊的level(等級)。

本節課介紹用Vugen修改runtime settings,之後的課程將介紹如何用Controller修改runtime settings。

修改runtime settings:

1。開啟你上節課儲存的Vuser指令碼;

2。開啟runtime settings對話方塊,點選Replay>Runtime Settings(按F4)出現編輯介面:

LoadRunner教程獨家中文版

3。設定Run Logic配置:

在左側欄中選擇Run Logic,設定Number of iterations(重複次數)為2,這個是用來設定指令碼中Action部分的重複次數:

LoadRunner教程獨家中文版

4。設定Pacing settings:

在這裡你可以設定每兩次重複之間的等待時間,你可以設定一個隨機值,這將以一個隨機的間隔時間更加精確的模擬真實使用者在重複操作之間等待所用的時間,比如你不會看到真實使用者在每兩次重複操作之間總是等待六十秒。

選擇第三個圓按鈕,設定隨機時間間隔為60到90秒:

LoadRunner教程獨家中文版

5。設定Log settings:

這裡設定在執行時要記錄那些log資訊。在你開發指令碼的時候你可能會為了debug方便而想要得到一些特別的log資訊,但是一旦你除錯通過了,你可能以後只需要得到error的log資訊,或根本不需要log資訊了。

選擇Extended log並勾選parameter substitution。這個選項和以後課程中將要討論的點相關。

LoadRunner教程獨家中文版

6。設定Think Time:

保持預設設定,忽略Think Time時間。你可以在Controller中設定。

我怎麼執行我的Vuser指令碼?

在錄製好指令碼並設定好runtime settings後,你就做好了執行指令碼所需要的準備。Vugen在你執行指令碼的過程中會給予你一些的指示器。

左下角會出現“Running”字樣。

編輯器中會出現小黃箭頭,它會指向正在被回放的指令碼。

下面output中會顯示回放過程中的訊息。

LoadRunner教程獨家中文版

介紹完介面上的東西,下面我們來執行錄製好的指令碼:

1。在Vugen中開啟Vuser指令碼;

2。點選Replay>Run或者直接點選工具欄上的

LoadRunner教程獨家中文版

按鈕。在回放結束後會彈出個東東建議你檢查相關的,點選NO。

我在哪裡可以看到回放資訊?

當Vuser指令碼停止執行,你可以看到回放的一個總結,回放的總結會顯示在Replay Summary 標籤下。

LoadRunner教程獨家中文版

回放總結標籤下列出了關於指令碼執行的基本資訊,比如回放時間間隔,回放的開始與截止時間。下面的兩個link分別是指令碼執行的詳細結果和回放時所收集的log。

回放的log裡記錄了回訪時所發生的事件,在Vugen的output欄裡顯示。

在教材的這一部分,你將開啟log,在log中找到指定的事件和提示。

查看回放log:

1。在腳本回放完成後,點選View>Output或在Vugen工具欄中點選Output按鈕

LoadRunner教程獨家中文版

。或者你也可以在Replay Summary標籤下點選The Replay Log的連結;

2。確認你的Output欄中Replay已經被選擇:

LoadRunner教程獨家中文版

3。在Vugen選單中點選Search>Quick Find去開啟Search對話方塊;

4。在Scope中選擇Current Script;

5。點選展開Include in search,之後勾選Logs;

6。透過Search對話方塊在回放log中定位以下資訊:

“Virtual User Script Started”——指令碼執行的開始;

“Vuser Terminated”——指令碼執行的結束;

“Iteration”——每一次重複的開始和結尾以及重複的次數。(橘色字型的文字)

注意:Output欄中綠色的是成功資訊,紅色的是失敗資訊。Output欄中也會指出出現的的error在指令碼中對應的行號。

LoadRunner教程獨家中文版

雙擊Output欄中的行,將會定位到相應的指令碼行。

我怎麼知道我的腳本回放是否成功?

在你回放了你所錄製的指令碼後,你需要查看回放結果去判斷指令碼是否回放成功。如果有哪有東西失敗了,你想知道什麼時候為什麼失敗了。

這一部分你將學會檢查和分析指令碼執行結果。Vugen在Test Results視窗中總結了回放結果。

LoadRunner教程獨家中文版

你開啟Test Results視窗後會發現它有兩個欄,左側的樹欄和右側的結果總結欄。

樹欄包括結果樹,每一次重複在樹中都被標註了數字。

結果總結欄包含了腳本回放的詳細資訊,當然也包括了螢幕錄製器(Screen Recorder)的移動,如果有的話。頂部的表告訴你哪些次重複(Iteration)失敗了,哪些次成功了。和原始錄製的過程相比較,如果虛擬使用者順利完成了整個過程,那麼這次測試將被認為是透過的。底部的表告訴你

事務(Transactions)

檢查點(CheckPoints)

是否成功或失敗。在教程的後續章節你將學到如何新增這些特色(指事務或檢查點)。

可以透過下面兩種方法來查看回放結果:

點選Replay Summary標籤;

點選Reply>Test Results,Test Results視窗打開了並顯示了Results Summary。

下一部分,你將鑽入回放結果中仔細研究,從而判斷指令碼在回放過程中是否到達了預期的web頁面。

我應該怎樣查詢或過濾回放結果?

如果你的回放結果表示有什麼東西失敗了,你可以進一步定位失敗的原因。

在Test Results視窗中左側的樹欄,你可以展開你的測試樹,分別檢視每一次重複中每一步的結果。右側的總結欄中會顯示該次重複過程中對應的回放截圖。

1。展開樹上的一個重複節點:

在結果樹上展開basic_tutorial Iteration 1節點;

展開Action Summary節點,展開的列表將按順序顯示該次迴圈中所執行的操作步驟;

2。檢視結果截圖:

點選Submit Form:reservations。pl,右側總結欄將顯示該步操作時所對應的截圖:

LoadRunner教程獨家中文版

檢視步驟總結:

總結欄顯示關於步驟的總結性資訊:如物件或步驟名,詳細的關於頁面是否成功載入,結果是否透過,每一步的發生時間等。

查詢結果狀態:

你可以在回放結果中搜索“Passed”或“Failed”。

這是非常有幫助的,因為如果你的回放結果總結中告訴你失敗了,它可以幫你找到哪裡失敗了。

想要查詢回放結果,點選Tools>Find或者點選工具欄中的Find按鈕

LoadRunner教程獨家中文版

,查詢對話方塊就會被開啟;

LoadRunner教程獨家中文版

勾選“Passed”,其他的不勾選,點選“Find Next”,測試樹欄中將把第一個透過的(Passed)步驟高亮顯示出來,如果沒有透過的則不高亮顯示。

3。過濾結果:

你可以過濾測試樹欄來顯示一個指定的迴圈或狀態。比如,你可以過濾它只顯示“Failed”狀態的。

點選View>Filters或點選工具欄中的Filters按鈕

LoadRunner教程獨家中文版

,Filters對話方塊就會被開啟;

LoadRunner教程獨家中文版

Status選擇Fail選項;

Content選擇All選項,點選OK。

LoadRunner教程獨家中文版

可以看到左面的樹欄空了,這是因為過程中不存在失敗。

4。關閉Test Results視窗:

點選File>Exit。

第三課:解決回放過程中所遇到的一般問題

當你錄製好一個指令碼後,你透過在VuGen中執行來驗證該指令碼是否透過。有時回放會失敗,即便同樣的操作在錄製時是成功的。

有很多應用是動態生成值的,你每次開啟這個應用的時候都不一樣。比如,有些伺服器為每一個新的會話都賦予一個獨一無二的會話ID。當你試著回放一個錄製好的會話時,會話會生成一個與錄製時不同的新的會話ID。當你回放特定的指令碼時,像會話ID這樣的動態值將會給你帶來麻煩。比如當你回放Web-HTTP/HTML型別的指令碼時動態的會話ID就會帶來麻煩,但是當回放Web-TruClient型別指令碼時就不會。

LoadRunner利用關聯性來定位與解決這種動態值的問題。關聯性儲存這種變化的值到一個引數中,就像我們這個例子中的會話ID。當我們執行指令碼時,虛擬使用者將不會採用事先錄製的值,取而代之,會採伺服器所賦予其的新會話ID。

這節課你講學習LoadRunner是如何解決在Web-HTTP/HTML型別Vuser指令碼執行時產生的動態值問題。

為HP Web Tours的回放錯誤做準備

為了說明一個普遍存在的回放失敗,你需要在HP Web Tours應用中修改一個設定。這個設定會讓HP Web Tours伺服器需要獨一無二的會話ID。

1。開啟HP Web Tours:

Start > All Programs > HP Software > HP LoadRunner > Samples > Web > HP Web Tours Application。 之後HP Web Tours的Home Page頁面就被打開了。(Win8的話在介面輸入HP Web進行搜尋)

2。改變伺服器選項:

在頁面點選“administration”連結,Administration頁面就被打開了;

選擇“Set LOGIN form‘s action tag to an error page。”,這個設定將不允許伺服器複製會話ID;

點選“Update”按鈕;

點選頁面底部的“Return to the Web Tours Homepage”連結。

LoadRunner教程獨家中文版

我們對於獨一無二的伺服器值是如何處理的?

在HP Web Tours被修改的配置中,伺服器給每一個虛擬使用者一個獨一無二的值。如果你試著回放沒有修改過的在第一課中所錄製的虛擬使用者指令碼,回放的結果將是失敗的。

為了克服這個問題,你需要用VuGen去實現這個關聯會話 ID的需求。你需要在VuGen中新增一步把這個獨特的會話ID新增到一個引數中。在後續的每一個會話中,VuGen都會將新的獨一無二的會話ID存入一個引數中。在虛擬使用者執行Vuser指令碼中的步驟時,虛擬使用者會使用已經儲存的會話ID值,而不是原先錄製好的值。

1。錄製一個新的包含動態值的指令碼:

錄製一個新的包含和第一課中所錄製的指令碼具有相同步驟的虛擬使用者指令碼;

將指令碼儲存為“basic_tutorial_Cor”。

2。回放新錄製的指令碼:

點選錄製按鈕進行錄製,VuGen執行這個新的指令碼,你會注意到回放log中有一些紅色字型的錯誤資訊出現。

回訪結束後,一個訊息對話方塊會彈出提醒你檢查關聯,點選“No”。

3。檢查回放總結:

觀察回放總結欄(Replay Summary Tab),總結中會指出你的回放失敗了。

4。檢查指令碼中的關聯(Scan for correlations):

選擇“Design > Design Studio”

LoadRunner教程獨家中文版

VuGen檢查指令碼和它所關聯的資料,查詢可能的動態值。Design Studio下Correlation這個欄列出了三個需要關聯的動態值。這三個值中最長的那個是會話ID。

LoadRunner教程獨家中文版

5。關聯會話ID:

在Correlation欄選擇會話ID那一行,並點選Correlate。VuGen會把會話ID的狀態變化Applied,並會在指令碼的頂部插入一個新的方法,這個方法將把原始的會話ID存入一個引數中。在之後的每一個回放會話中,VuGen都將儲存新的獨一無二的會話ID到引數中。當虛擬使用者執行指令碼時,會以該引數取代原先錄製的值;

點選“Close”關閉Design Studio。

6。來檢視一下關聯語句的語法:

在VuGen編輯器中個,定位到VuGen加到指令碼中的語句。新的語句看起來就像下面這樣:

LoadRunner教程獨家中文版

這個語句告訴VuGen將第一次包含在正則表示式中的值(獨一無二的會話ID)存入引數中並叫CorrelationParameter這個名字。

7。重新執行指令碼:

點選回放按鈕,結束執行後在Output欄中查看回放log,發現沒有錯誤資訊了;

在指令碼中,右鍵點選web_reg_save_param_regexp選擇Go to step in Replay Log,VuGen將滑鼠定位在Replay Log中所對應的行處。Log表明方法web_reg_save_param_regexp方法執行成功,關聯順利。

8。重置HP Web Tours伺服器以忽略獨一的會話ID:

開啟HP Web Tours Application;

在Home Page頁面點選Administration連結;

取消勾選“Set LOGIN form’s action tag to an error page”;

在頁面底部點選“Update”。

現在你對回放中的錯誤有一定的瞭解了,可以去學習第四課了。

第四課:為負載測試準備一個虛擬使用者指令碼

在之前的課程中,你已經確認你的腳本回放的過程精確的模擬了真實使用者的行為。下一步,就是為了負載測試準備指令碼。那麼,多個使用者同時併發的在系統上工作會怎樣呢?系統會不會慢到一個不可接受的程度?

在這一課中,你將會學到不同的方法去豐富你的指令碼,讓它在負載測試的過程中更加有效率。

怎樣去估量一個業務流程的持續時間呢?

當你為一個應用做部署時,一定要準確的估測業務流程的持續時間——登陸需要多久,訂飛機票等等。每一個業務流程都由你指令碼中的一步或多步組成。在一個虛擬使用者指令碼中,你透過把這些步驟加到一個事務(transaction)中來設計一系列你想要估測的行為。

當你執行一個包含事務的指令碼時,LoadRunner將會收集關於事務所花費時間的資訊,並且以彩色編碼的段落顯示結果和報告。你透過這個資訊去判斷這個應用是否能滿足你的效能需求。

你可以手動 的在虛擬指令碼中的任何位置插入一段事務。為了將一系列步驟組成事務,在第一步之前插入一個事務開始(start_transaction)標識,在最後一步之後插入一個事務結束(end_transaction)標識。

這部分你將在你的指令碼中插入一段事務來衡量使用者查詢和預訂機票這個過程所花費的時間。

在虛擬使用者指令碼中插入一段事務(transaction):

1。在VuGen中,開啟在第一課時你所建立的Basic_Turorial指令碼;

2。點選“Step Navigator”欄;

3。插入一個事務開始標識:

在Step Navigator中,定位到步驟:Image: Search Flights Button。

雙擊該步驟以找到對應在編輯器中的位置;

點選View >Steps Toolbox,右側將出現工具欄;

在工具欄中Common下,找到lr_start_transaction並把他拖進編輯器中,並把它放在web_image步驟前。此時開始事務對話方塊會被開啟;

LoadRunner教程獨家中文版

在Transaction Name欄中填寫“find_confirm_flight”並點選“OK”。Vugen將在Step Navigator中插入一個lr_start_transaction的步驟以及一個相應的叫做lr_start_transaction的方法在編輯器中。

4。插入一個事務結束標識:

在Step Navigator中,定位到步驟:Submit Data: reservations。pl_2;

雙擊,定位到編輯器中相應的程式碼行;

在Steps Toolbox的Common下找到lr_end_transaction,並把它拖到web_submit_data這部分程式碼的後面,此時結束事務對話方塊會被開啟;

LoadRunner教程獨家中文版

確認Transaction Name為“find_confirm_flight”,然後點選“OK”。Vugen會在左側的Step Navigator中插入一個lr_end_transaction步驟,並在編輯器相應的位置插入一個lr_end_transaction方法。

LoadRunner教程獨家中文版

現在你知道該怎麼樣去定義“find_confirm_flight”這個事務了。

要怎樣才能模仿多個使用者?

在你的模仿中,你記錄了一個預定航班和選座的過程。但是真實的生活中,往往多個使用者會有不同的選擇。為了改進你的測試,你需要檢查當多個使用者做出不同的選擇時(Aisle,Window或None)預定是否依然能正常工作。

為了完成這個願望,你需要引數化你的指令碼。這就意味著你要把你錄製的值,比如Aisle,用引數來替代。你將在一個引數檔案中替換這些引數的值。當你執行指令碼時,虛擬使用者將會使用引數檔案中的值(Aisle,Window或None)以便更加真實的模擬一個客戶端環境。

引數化你的指令碼:

1。找到你想要更改值的區域:

選擇View>Step Navigator,在左側欄中開啟Step Navigator;

在Step Navigator中定位到Submit Data:reservations。pl這一步;

右鍵點選Submit Form:reservations。pl這一步,選擇Show Arguments。Submit Form Step Properties對話方塊打開了:

LoadRunner教程獨家中文版

LoadRunner教程獨家中文版

這個圖示代表有定值。

2。改變定值為可變值:

在Submit Form Step Properties對話方塊中選擇第七行seatPref;

點選seatPref右側的

LoadRunner教程獨家中文版

按鈕,Select Or Create對話框出現:

LoadRunner教程獨家中文版

3。建立一個引數:

在Parameter name處填寫seat;

點選“OK”,Submit Form Step Properties對話方塊中VuGen將

LoadRunner教程獨家中文版

圖示替換成

LoadRunner教程獨家中文版

圖示。

LoadRunner教程獨家中文版

點選

LoadRunner教程獨家中文版

圖示,Parameter Properties對話方塊開啟:

LoadRunner教程獨家中文版

4。為引數指定值:

點選Add Row;

將Value改成Window;

點選Add Row;

將Value改成None;

LoadRunner教程獨家中文版

備註:值並不是大小寫敏感的。

對話方塊的Select Column和File Format部分保持預設設定。

5。定義測試將如何改變資料:

Update value on保持預設設定:Each Iteration;

點選“Close”關閉Parameter Properties對話方塊;

點選“OK”關閉Submit Form Step Properties對話方塊。你現在已經為seating preference建立了一個引數,當你執行負載測試時,虛擬使用者會使用引數中的值而不使用你事先錄製好的指令碼中的值——Aisle。當你執行指令碼時,Replay log裡將會告訴你每次重複所用到的引數中的值。虛擬使用者第一次執行使用的是Aisle,第二次是Window,第三次是None。

我怎樣確認網頁上的內容?

當你執行一個測試時,你經常需要確認返回頁面上是否包含某些特定內容。Content check功能將會在指令碼執行時自動幫你在頁面上檢查你的預期資訊。你可以插入兩種內容檢查:

Text Check:在網頁上檢查一段文字;

Image Check:在網頁上檢查一張圖片。

在這一部分你將插入一個text check去檢查是否Find Flight字樣出現在HP Web Tours的Reservations頁面上。

插入一個text check:

1。點選切換到Step Navigator欄;

2。在Step Navigator欄中定位到Submit Form:reservations。pl這一步;

3。在VuGen工具欄上,點選Show Snapshot pane按鈕

LoadRunner教程獨家中文版

讓Snapshot欄顯示出來;

LoadRunner教程獨家中文版

4。在Step Navigator中Submit Form:reservations。pl的截圖標誌,相應的截圖將出現在Snapshot欄中:

LoadRunner教程獨家中文版

5。從VuGen的選單中點選View>Steps Toolbox。Steps Toolbox欄出現;

LoadRunner教程獨家中文版

6。在Steps Toolbox的Search框中輸入web_reg並在Filter Results中定位到web_reg_find這一步;

7。將web_reg_find這一步拖拽到web_submit_form方法前:

LoadRunner教程獨家中文版

Find Text Dialog打開了:

LoadRunner教程獨家中文版

8。在Find Text對話方塊中,在Search for specific Text框中輸入Find Flight,並點選“OK”;

LoadRunner教程獨家中文版

9。VuGen插入一個web_reg_find步驟到Step Navigator中,和一個相應的web_reg_find方法到編輯器中。

LoadRunner教程獨家中文版

當你回放指令碼時,VuGen將會查詢文字“Find Flight”並在回放log中表明是否找到相應文字。

我應該怎樣去生成除錯資訊?

在測試中 的一些點上,你想讓LoadRunner生成併發送一些和指令碼執行時相關的訊息,這些訊息既會顯示在Output欄中的Replay log中,也會顯示在Controller的Output視窗中。你可以生成標準輸出資訊,或生成資訊以指出錯誤所在之處。

對待錯誤訊息的推薦處理方式是檢查Failed狀態,如果發現了狀態為Failed的資訊,你讓VuGen去生成一個錯誤訊息。更多的詳細資訊請檢視HP LoadRunner Function Reference中的例子。

在教程的本部分,你將讓VuGen在應用完成一次完整的預訂後插入一條輸出資訊(Output Message)。

插入一條輸出資訊:

點選Step Navigator欄;

在Step Navigator欄中定位到最後一步:Image:SignOffButton;

雙擊Image:SignOffButton這一步,編輯器中顯示相應的web_image方法;

在Steps Toolbox中Common下定位到lr_output_message方法;

將lr_output_message方法拖拽到web_image方法後,Output Message對話方塊開啟;

LoadRunner教程獨家中文版

Message Text中填寫:The flight was booked;

點選“OK”。VuGen新增一個lr_output_message的方法到指令碼中,並且在Step Navigator中生成相應的一步。

LoadRunner教程獨家中文版

點選VuGen工具欄中的Save按鈕

LoadRunner教程獨家中文版

儲存指令碼。

請注意,插入一條錯誤訊息你要重複相同的過程,除非在Steps Toolbox中選擇lr_error_message方法而不是lr_output_message方法。

我的腳本回放真的成功了嗎?

在這一部分,你將學習執行強化後的指令碼並在Replay log中查詢text check資訊。你將會檢查text check的結果以及事務和引數化的詳細資訊。

預設情況下,image(圖片)和text(文字)的檢查在回放過程中是禁用的,因為它們需要更多的記憶體。如果你想要執行圖片或文字的檢查,你需要在runtime settings中enable他們(使它們可用)。

1。使圖片和文字檢查可用:

點選Replay>Runtime Settings;

選擇nternet Protocol>Preferences;

Enable image and text check;

LoadRunner教程獨家中文版

點選“OK”。

2。執行指令碼:

點選VuGen工具欄上的Replay按鈕

LoadRunner教程獨家中文版

,VuGen開始執行指令碼,在Output欄的Replay log中生成條目資訊。

等待指令碼完成執行。

3。定位文字檢查:

點選Output欄,選擇Replay;

在Replay log中點選滑鼠,按Ctrl+F進行搜尋;

搜尋web_reg_find;點選Find Next,你先後會搜尋到符合的資訊:

web_reg_find started

Registering web_reg_find was successful。

這其實不是真正的text check,這是在表單提交後進行的查詢。

點選Find Next顯示下一處包含web_reg_find的地方:

Registered web_reg_find successful for “Text=Find Flight” (count=1)

這行表明text被找到,如果有人改變了網頁並移除了Find Flight字樣,那麼在之後的執行中,Output將指出找不到相應的text。

4。定位一個事務的開端:

在Replay log中點選Ctrl+F開啟搜尋對話方塊;

搜尋“Transaction”,提示會以藍色字體表現。

5。檢查引數的替代值:

在Replay log中點選Ctrl+F開啟搜尋對話方塊;

搜尋“Parameter”,log中告訴你“seat”=“Aisle”。

6。選擇File>Save或點選VuGen工具欄上的Save按鈕

LoadRunner教程獨家中文版

儲存。

LoadRunner教程獨家中文版

第五課:建立一個負載測試場景

在之前的課程中,你用VuGen來驗證你的虛擬使用者指令碼。在本節課中,你將在多個虛擬使用者負載你的系統下來測評你的系統,你將模擬10個客戶端不同程度的同時使用訂票系統,並在此負載下觀察系統的執行。為了設計並執行這個測試,你需要使用LoadRunner Controller。

場景目標:

在本節課中,你的目標是建立一個場景來模擬十個不同的使用者併發的進行登陸,查詢飛機票,預訂飛機票,檢查旅程與登出的行為。

介紹一下LoadRunner Controller

負載測試意味著要在典型的工作場景下測試你的系統。比如,你需要對許多旅遊客戶同時在網上對同一個票務預訂系統進行操作的情況進行測試。

你設計場景是為了模擬真實的情況。為了達到這個目的,你需要能夠對你的系統產生負載,並且對負載進行時間上的編排(因為使用者不會同時登陸和登出)。你也需要模擬不同使用者的不同行為。比如有些使用者用火狐瀏覽器去訪問這個系統,而其他的使用者則用IE。使用者也會透過不同的網路連線到該系統,比如modem,DSL,或cable。你在場景中建立並儲存這些設定。

Controller為你提供能夠讓你真實的模擬你的工作環境而建立與執行測試所需要的所有工具。

我怎麼樣開始使用Controller?

要建立一個場景,你首先要開啟LoadRunner Controller。

1。開啟HP LoadRunner Controller:

LoadRunner教程獨家中文版

HP LoadRunner Controller開啟並顯示New Scenario對話方塊。

LoadRunner教程獨家中文版

2。選擇一個Scenario Type(場景類別)。

有兩種Scenario Type:

Manual Scenario:讓你能夠控制虛擬使用者的數量以及他們分別執行指令碼的次數,並且能夠讓你測試你的系統同時能夠響應多少使用者的操作。你可以根據你的業務需求分析用百分比模式(Percentage Mode)來對指令碼間虛擬使用者的總數進行分配。如果你正常安裝LoadRunner的話Percentage Mode這個預設是被勾選的。如果它被勾選了,你要把它取消勾選。

Goal-Oriented Scenario:為了驗證你的系統是否可以達到一個特殊的目標。例如,你可以基於一個事務的響應時間或一秒鐘執行的事務數來驗證,那麼LoadRunner會為你基於這些目標自動的建立一個場景。

3。新增一個Vuser指令碼到負載測試中:

在本次教程中,你只會使用一個指令碼,讓所有的使用者都模擬相同的操作。想要多方面多角度的模模擬實世界中的使用者操作,你可以建立不同的虛擬使用者群,每一個群都用不同的指令碼和不同的使用者設定。

你之前在VuGen中錄製的指令碼包含了你想要測試的業務流程,包括登陸,搜尋飛機票,買飛機票,檢查飛機票,以及退出網站。你將要把類似的指令碼新增到場景中,並配置場景,以實現8個不同的使用者同時在這個飛機票預訂系統上進行併發操作。在本次的測試中,你還需要額外新增兩名虛擬使用者。

為了實現這個目的,你需要提供一個和你之前建立的那個指令碼類似的指令碼。在這裡我們建議你使用給出的樣本指令碼。

如果basic_script已經在Available Scripts欄中(我們之前建立的那個叫basic_tutorial,這裡教程說的有些偏差,大家理解意思就可以,實際操作可以隨便一點,不用一板一眼的照書來),點選add按鈕將指令碼新增到Scripts in Scenario欄中。

LoadRunner教程獨家中文版

如果這個basic_script沒有在左側的Available Scripts中列出,點選Browse按鈕找到它並把它加到Scripts in Scenario欄中來。

點選OK,LoadRunner Controller打開了並顯示你所建立的新場景的Design欄。

LoadRunner教程獨家中文版

初識Controller

Controller的Design欄是你設計你的負載測試的主要介面。Design欄又分為三欄:

Scenario Groups欄:你在該欄中配置虛擬使用者組。你建立不同的使用者組來模擬系統的使用者種類並指定操作該應用系統的虛擬使用者數量以及這些虛擬使用者所用的機器種類。

Service Level Agreement欄:當你設計一個負載測試場景時,你可以為效能的度量定義goals或SLAs(Service Level Agreements)。當你執行場景時,LoadRunner收集並存儲效能相關的資料,Analysis將收集的資料和SLAs做對比好對定義好的度量確定SLA的狀態。

Scenario Schedule欄:在Scenario Schedule欄,你設定負載行為以精確模模擬實世界中的使用者行為。你透過虛擬使用者將要執行的應用,該應用相應部分的負載比率,負載測試的持續時間,以及負載是如何結束的來定義使用者的操作。

我怎樣修改指令碼中的細節?

按照以下的方法來修改指令碼中的細節:

1。在Scenario Groups欄中檢查一下Group Name列下的Script名為:basic_tutorial

LoadRunner教程獨家中文版

2。改變Group的名字:

在Scenario Groups欄中選擇basic_tutorial並點選Details按鈕

LoadRunner教程獨家中文版

,於是Group Information對話方塊打開了:

LoadRunner教程獨家中文版

將Name改為一個更有意義的名字,比如:travel_agent;

點選OK,新名字將顯示在Design欄的Scenario Groups欄下。

LoadRunner教程獨家中文版

我怎樣對系統產生一個負載?

在你新增你的虛擬使用者指令碼到你的場景後,你將要配置負載發生器(load generator),也就是你對目標系統產生負載的計算機。

定義:一個負載發生器意味著一臺能夠執行多個虛擬使用者並對系統產生負載的計算機。你可以用許多負載發生器,每個發生器主持著多個虛擬使用者。

在這一部分,你將學習關於向場景中新增負載發生器,測試負載發生器的連線。

新增負載發生器:

在Controller工具欄中點選Load Generator按鈕

LoadRunner教程獨家中文版

。負載發生器對話方塊打開了:

Load Generator對話方塊允許你檢視與配置你場景中定義的負載發生器,上圖中顯示了一個叫localhost的負載發生器的詳細資訊。localhost這個負載發生器的狀態為“Down”。這表明Controller沒有連線到loadhost這個負載發生器。

在本教程中,你將用你的計算機作為複雜發生器。

備註:在一個典型的操作型系統中,你可能會有多個負載發生器,每一個負載發生器都擁有多個虛擬使用者。

測試負載發生器的連線:

當你執行一個場景時,Controller會自動連線負載發生器所在的機器(load generator machine)。然而,你可以在嘗試執行指令碼前測試這些連線。

1。在Load Generator對話方塊,選擇localhost並點選“Connect”:

Controller嘗試連線負載發生器所在機器。當連線已經建立,負載發生器的狀態就會從“Down”變成“Ready”;

LoadRunner教程獨家中文版

2。點選Close。

我怎樣去模模擬實的負載行為呢?

當你已經添加了負載發生器,你就可以準備配置負載行為(load behavior)了。

典型的使用者基本不可能精確的在同一時間log on以及log off系統。LoadRunner允許使用者逐步的log on以及log off系統。它也允許你決定場景的持續時間,以及場景結束的方式。你下面將要進行配置的場景將會相對簡單。然而,當你要設計一個更加貼近真實的場景時,你可以定義更多逼真的虛擬使用者行為。

你在Controller的Scenario Schedule欄中為manual scenario配置負載行為(load behavior)。Scenario Schedule欄被分成三個部分:Schedule Definition區域,Actions格表,以及Interactive Schedule圖表。

你現在將要更改預設的負載設定並配置一個Scenario Schedule(場景時間安排計劃):

1。選擇schedule型別與run mode:

在Schedule Scenario欄中,確定你選擇了Schedule By:Scenario,Run Mode:Real-world schedule。

LoadRunner教程獨家中文版

2。設定Scheduled Actions定義:

你可以在Global Schedule格表中或透過操作Interactive Graph圖表來對Scenario Schedules設定Start Vusers,Duration,以及Stop Vusers actions。當你在圖表中進行定義時,對應在格表中的屬性也會有相應的變化與調整。

現在你要進行設定,來讓Global Schedule的格表像下面一樣顯示:

LoadRunner教程獨家中文版

建立虛擬使用者初始化:

初始化意味著透過執行指令碼中的“vuser_init ”action來為一個負載測試準備虛擬使用者(Vusers)和負載發生器(load generators)。依於你系統的配置,在執行前初始化Vusers會帶來更加真實的結果。

A。 雙擊Global Schedule格表中的Initialize(上圖中Action下的第一行)。Edit Action對話方塊彈出並顯示Initialize action;

LoadRunner教程獨家中文版

B。選擇Initialize all Vusers simultaneously;

C。點選OK。

為Vusers指定一個陸續開始的時間(gradual start):也就是說每隔幾分鐘增加幾個Vuser對系統產生負載是在這裡設定的。

A。在Global Schedule格表中雙擊Start Vusers,Edit Action對話方塊彈出並顯示Start Vusers;

LoadRunner教程獨家中文版

B。如上圖中進行設定,Start 8 Vusers,2 Vusers every 30 seconds;

C。點選OK。

計劃持續時間:

你需要確定一個持續時間以確保虛擬使用者能夠在指定的時間段內持續執行Schedule action,持續產生負載。如果你設定一個時間段(Duration),指令碼會在該時間段內儘可能多的重複執行來滿足需求而忽略掉你在指令碼runtime settings中設定的重複次數。

A。確保Interactive Schedule Graph是Edit模式(透過點選Interactive Schedule Graph工具欄中的Edit Mode按鈕

LoadRunner教程獨家中文版

)。

B。在Interactive Schedule Graph中點選代表Duration的水平線。線被高亮顯示,如下圖:

LoadRunner教程獨家中文版

備註:說明會顯示在結束點的上面,點選Interactive Schedule Graph工具欄中的隱藏說明按鈕

LoadRunner教程獨家中文版

來控制它的顯示。

C。向右拖拽鑽石形狀的結束點,到11:30的位置,這樣你就設定好了讓虛擬使用者執行10分鐘指令碼。

LoadRunner教程獨家中文版

設定一個逐步的關閉:

當應用執行到一個臨界值的時候,逐步關閉虛擬使用者有助,檢查記憶體洩露以及系統恢復。

A。在Global Schedule格表中雙擊Stop Vusers。Edit Action對話方塊被開啟:

LoadRunner教程獨家中文版

B。如上圖所示,選擇All-2 Users every 30 seconds;

C。點選“OK”。

配置好的Global Schedule如下:

LoadRunner教程獨家中文版

我應該怎樣模擬不同種類的使用者呢?

現在你已經配置了一個負載計劃表,你需要進一步指定使用者在測試的時候是如何“行為”的。

當你去模擬一個真實使用者的時候,你需要考慮使用者的實際“行為”。這裡的“行為”指的是:

一個使用者兩個操作步驟之間所需要的停頓時間,對於一個步驟使用者所重複的次數,等等。

在這一部分,你會學到更多關於LoadRunner的runtime settings,並且你會使用到Think Time和Logging。

1。開啟runtime settings:

在Controller中點選Design欄;

在Scenario Groups欄中選擇travel_agents組;

點選Runtime Settings按鈕,runtime settings對話方塊將被開啟:

LoadRunner教程獨家中文版

LoadRunner教程獨家中文版

Runtime settings

允許你模擬不同種類的使用者活動與行為。它們包括:

Run Logic,一個虛擬使用者重複一組操作的次數。

Pacing,重複操作前需要等待的時間。

Log,在測試過程中你想要收集的資訊等級。你第一次執行場景時是推薦你生成log資訊的,以防你第一次執行時會失敗,log會提供你有關的除錯資訊。

Think Time,使用者步與步操作之間的停頓時間。由於新老使用者對系統的熟悉度不同,步與步之間的停頓時間也不同,老使用者肯定比新使用者嫻熟的多。虛擬使用者透過think time可以更加真實的模模擬實使用者步與步之間的停頓。

Speed Simulation,使用者透過不同的網路連線,包括modem,DSL以及cable。

Browser Emulation,使用者透過不同的瀏覽器來檢視應用的效能。

Content Check,能夠自動的檢查使用者定義的錯誤。

假設你的應用在出錯時會發送一個自定義的頁面,這個自定義頁面包含ASP Error這個字樣,你需要查詢伺服器所返回的所有頁面來檢查這些字樣是否包含在內。

你可以讓LoadRunner透過runtime settings中的Content Check在測試過程中自動的完成這個檢查的過程,LoadRunner會自動的檢查你設定的字樣,如果發現則會產生一個錯誤資訊。在場景執行時,你可以確認這些內容檢查方面的錯誤。

2。使用Think Time:

在Runtime Settings對話方塊,點選General>Think Time;

選擇Replay think time,並選擇Use random percentage of recorded think;

Min選50%,Max選150%;

LoadRunner教程獨家中文版

以上的設定將會對錄製的think time使用一個隨機的百分比。例如,如果選擇一個航班時錄製的think time為4s,那麼隨機的think time將會在2-6s內(4的50%或150%)生成。(筆者認為:這很好的模擬了新老使用者由於對應用的熟悉程度不同而導致了think time不同這一特點)

3。使用Logging:

在Runtime Settings對話方塊中,點選General>Log;

選擇Enable Logging;

在Log options下,選擇Always send messages;

點選Extended log,選擇Data returned by server;

LoadRunner教程獨家中文版

備註:在初始的除錯執行階段之後,不建議對負載測試開啟Extend Log模式。本教程中使用它的目的僅在於想要輸出Vuser的log。

點選OK關閉Runtime Settings對話方塊;

儲存場景。

在負載的情況下我要怎樣監控系統?

現在你已經定義了你的虛擬使用者在測試中的行為,已經為建立監控器做好準備。

當你對一個應用產生負載時,你想要實時的檢視這個應用的效能以及潛在的瓶頸所存在的地方。你將在負載測試的過程中使用LoadRunner的monitor來監控每一層次結構的效能,包括伺服器,系統的元件。LoadRunner提供了許多主要的後臺系統元件(包括Web,Application,Database,以及ERP/CRM伺服器)的監控器。

例如,你可以根據正在執行的Web Server的類別選擇一個Web Server Resources監控器。你可以為相關的監控器買一個證書,比如IIS,並用這個監控器來找出反映在IIS resources中的問題。

在這一章節,你將學會怎樣新增以及配置Windows Resources監控器(monitor)。你可以用監控器來確定負載對你CPU(處理器),disk(硬碟)以及memory resources(記憶體資源)的影響。

1。選擇Windows Resources Monitor:

在Controller的左下角點選Run欄:Windows Resources圖示是顯示在圖表檢視區域四個預設圖表中的一個。你將在下一節課中學會如何開啟其他的圖表。

LoadRunner教程獨家中文版

右鍵點選Windows Resources圖表並選擇Add Measurements。Windows Resources對話方塊打開了:

LoadRunner教程獨家中文版

2。選擇要監控的server:

在Windows Resources 對話方塊中的Monitored Server Machines區域,點選Add。Add Machine對話方塊打開了:

LoadRunner教程獨家中文版

在Name欄中填寫localhost(如果你的負載發生器在其他的機器上,你可以填寫那臺機器的server名或IP地址);

在Platform列表中,選擇負載發生器所在機器的操作平臺;

點選“OK”。

預設的Windows Resources measurements會在Resource Measurements on 列表中列舉出來。

LoadRunner教程獨家中文版

3。啟用監控器(monitor):

在Windows Resources對話方塊中點選“OK”關閉對話方塊,monitor就被激活了。

第六課:執行負載測試

當你執行負載測試時,LoadRunner會對系統產生負載。你可以隨後用LoadRunner的監控器和圖示來觀察負載的情況下系統的效能。

初始Controller Run檢視

Controller的Run欄是場景的管理和監控中心。它包含五個欄:

Scenario Group欄:左上角的欄,你可以觀察組中虛擬使用者的狀態,你可以透過右邊的按鈕開始、停止、重置場景。

LoadRunner教程獨家中文版

去檢視獨立的虛擬使用者狀態,在場景中透過手動新增更多虛擬使用者來對應用增加負載;

Scenario Status欄:右上角的欄,你可以在此檢視負載測試的一個總結,包括執行的虛擬使用者的數量,以及每一個虛擬使用者操作的狀態;

Available Graphs欄:在中間左側的欄,你可以看到一列LoadRunner的圖表。為了開啟一個圖表,選擇一個樹中的圖表,把它拖拽到Graph Viewing區域;

LoadRunner教程獨家中文版

Graph Display欄:在中間右側的欄,你可以自定義顯示一個到八個圖表(View>View Graphs);

Graph Legend欄:在底部的欄,你可以檢視你所選擇的圖表中的資料。

LoadRunner教程獨家中文版

備註:Run欄在Controller的底部。

我怎樣執行一個負載測試場景?

在這一部分,你將開啟場景:

1。開啟Controller Run檢視:

點選Controller底部的Run欄。

注意到Scenario Groups欄中的Down列下有8個虛擬使用者,這些虛擬使用者是你建立場景(Scenario)時所建立的。

LoadRunner教程獨家中文版

由於場景還沒有執行,所有其他的計數器都保持在0,圖表檢視區域的所有圖表都是空的,當你在下一步執行場景時,圖表和計數器將會開始顯示資訊。

2。開始場景:

點選Start Scenario按鈕或選擇Scenario>Start來開始執行場景。

如果你是按教程第一次執行的話,Controller會開始場景並將結果檔案自動儲存到負載發生器的temp資料夾下。

如果你是在重複做測試,你會被建議去覆蓋已有的結果檔案。

LoadRunner教程獨家中文版

點選No,因為第一次負載測試的結果要用來和之後的測試結果進行比對。之後設定結果儲存目錄的對話方塊被開啟:

LoadRunner教程獨家中文版

確定一個新的儲存結果的資料夾路徑,為每一次的測試結果起一個有意義的獨特的名字,因為分析圖表時你可能會需要把多次場景的執行結果疊加。

在負載情況下該如何管理應用程式呢?

你會使用Controller的線上圖表來觀察監控器(monitors)所收集的效能資料。你透過這些資訊來讓你的系統遠離潛在的危機。

1。檢查效能圖表:

Run欄下的Graph Display欄中顯示瞭如下的預設圖表:

Running Vusers(執行著的虛擬使用者)-Whole Scenario graph(全景表):顯示在指定時間執行著的虛擬使用者數量;

Transaction Response Time(事無響應時間)-Whole Scenario graph(全景表):顯示了每一個事務完成所花費的時間;

Hits per second(每秒點選數)-Whole Scenario graph(全景表):顯示場景執行時每秒對web伺服器的點選數(HTTP請求數);

Windows Resources graph(Windows資源表):顯示在場景執行時系統資源的使用情況。

LoadRunner教程獨家中文版

2。高亮個性化定製:

雙擊Windows Resoures表,它將放大到佔據整個圖表顯示欄。注意到每個measurement都是用不同的顏色來表示,每一行都以相同的顏色對應圖中的一條線;

LoadRunner教程獨家中文版

選擇哪一行,哪一行在圖表中就會被高亮顯示;

再雙擊圖表,讓其縮小到原始尺寸。

3。檢視Throughput(吞吐量)資訊:

在Available Graphs欄中,Web Resources Graphs下,選擇Throughput表並把它拖拽到Graph Display欄中。Throughput表的measurements顯示在Graph Display欄和Graph Legend欄中。

Throughput(吞吐量)表顯示虛擬使用者從伺服器接收 的資料在任意指定的某一秒中的總量(以bytes衡量)。你可以將此圖與Transaction Response Time(事務響應時間)圖表進行比較以檢查Throughput(吞吐量)是如何影響Transaction(事務)的效能的。

當吞吐量的規模隨著時間的進行與虛擬使用者數的增加而變大時,這表明頻寬是足夠用的。當圖表隨著虛擬使用者數量增加而趨於相對平緩時,我們有理由去猜測與推斷頻寬限制了資料傳輸量。

LoadRunner教程獨家中文版

要怎樣才能實時的觀察一個虛擬使用者的執行?

當我們模擬使用者的時候,你可以實時的檢視虛擬使用者的操作以確定他們執行的操作是正確的。Controller透過Runtime Viewer讓你能夠實時的檢視虛擬使用者的操作。

形象的觀察一個虛擬使用者的操作:

1。在Controller的Run欄中,點選Vusers按鈕。Vusers對話方塊開啟:

LoadRunner教程獨家中文版

LoadRunner教程獨家中文版

Status列顯示了每個虛擬使用者的狀態。在上面的例子中,你可以看到四個虛擬使用者在執行,四個已經處於down掉狀態。Scheduler中的Start Vusers操作讓Controller一次釋放兩個虛擬使用者。隨著場景的進行,虛擬使用者將會2個2個的以30秒為週期被新增到組中。

2。在虛擬使用者列表中選擇一個虛擬使用者;

3。點選Vusers工具欄上的Show the selected Vusers按鈕

LoadRunner教程獨家中文版

。Runtime Viewer被開啟並顯示選擇的虛擬使用者所執行的操作。Runtime Viewer將會隨著虛擬使用者在指令碼中步驟的進行而更新。

4。點選Hide the selected Vusers按鈕

LoadRunner教程獨家中文版

,關閉Runtime Viewer。

我在哪裡可以看到一個關於虛擬使用者操作(Vuser actions)的總結?

想要單獨看一個虛擬使用者在執行測試的過程中的進展,你可以顯示一個包含虛擬使用者操作文字總結的log檔案。

檢視虛擬使用者操作的文字性總結:

1。在Vusers視窗選擇一個running狀態的Vuser;

2。點選Vusers工具欄中的Show Vuser Log按鈕

LoadRunner教程獨家中文版

。Vuser log對話方塊被開啟:

LoadRunner教程獨家中文版

log中包含了與使用者操作相對應的資訊。比如,在上面的視窗中,Virtual User Script started表明虛擬使用者執行的開始時間。滑到底部你會觀察到隨著虛擬使用者操作的進行,相應的新資訊也會被新增進來。

3。關閉Vuser Log對話方塊,以及Vusers對話方塊。

怎樣在測試中增加負載?

為了給系統增加負載,你可以在測試的過程中手動的新增更多的虛擬使用者。

1。為了在負載測試時增加負載:

確定當前是在Controller的Run欄;

點選Run/Stop Vusers按鈕,Run/Stop Vusers對話方塊被開啟並顯示了當前場景中執行的虛擬使用者數;

LoadRunner教程獨家中文版

在#列輸入你想要向組中新增的虛擬使用者數,想要再新增兩個虛擬使用者,則在#列把數字8改為2;

點選Run按鈕來新增虛擬使用者;

選擇Run New子按鈕選項。

LoadRunner教程獨家中文版

兩個額外的虛擬使用者被新增到travel_agent組中並且在localhost負載發生器上執行。場景狀態列將顯示現在有10個虛擬使用者正在執行。你可能會收到LoadRunner Controller無法啟用額外的虛擬使用者的訊息。這是因為你可能在用你的本機來當作負載發生器而且它只有很有限的記憶體資源。通常來說,用一個專業的機器作為負載發生器就可以避免這種情況的發生。

應用在負載的情況下是怎樣執行的?

在你的Scenario Status欄【Run欄中】中,你可以仔細的看到有哪些虛擬使用者引起了應用的問題,事務失敗數以及錯誤數偏高表明了你的應用在負載下可能執行的並不好。

1。檢查場景的狀態:

Scenario Status欄的頭部顯示了場景的整體狀態:

LoadRunner教程獨家中文版

2。檢視虛擬使用者操作的分解:

點選Scenario Status欄中的Passed Transactions,Transactions對話方塊被開啟並列出了事務的詳細;

LoadRunner教程獨家中文版

點選Close關閉Transactions對話方塊。

你的應用遭遇錯誤了嗎?

在重負的情況下,應用開始出現失敗的情況,你可能會遇到錯誤和事務的失敗。你的Controller會在Output視窗中顯示錯誤資訊。

1。檢查error或warnings訊息:

選擇View>Show Output,你可以按照種類對資訊進行排序,例如warnings或errors;Output對話方塊被開啟並顯示了訊息資訊文字,包括產生的所有訊息數,虛擬使用者和負載發生器產生的錯誤,以及發生錯誤的指令碼。

LoadRunner教程獨家中文版

要檢視一條訊息的詳細內容,選擇訊息並點選“Details”,Detailed Message Text框出現,顯示了訊息詳細完整的內容文字。

2。檢視log資訊的詳細內容:

你可以透過點選相應列的藍色連結檢視關於每條訊息、虛擬使用者、指令碼以及關聯的負載發生器的錯誤資訊。例如:想要知道指令碼中哪裡出了錯,檢視點選進入Total Message列。Output視窗將顯示你選擇的錯誤程式碼的所有相關資訊,包括時間,重複次數,以及指令碼中出錯的位置行。

3。進入檢視Line Number列:

LoadRunner教程獨家中文版

點選Line Number列下的連結,VuGen將被開啟,顯示了指令碼中出錯的行。你可以透過這一資訊來幫你確認哪些響應時間較慢的事務導致了應用在負載下的失敗。

我怎樣得知場景是否已經執行結束?

在場景執行的總結處,Scenario Status欄的頭部顯示了Down這一狀態。這說明場景中所有的虛擬使用者都已經執行結束。

LoadRunner教程獨家中文版

你可以開啟Vsuers對話方塊來分別檢視每個虛擬使用者的狀態。虛擬使用者對話方塊顯示了每個虛擬使用者執行的重複次數,成功的重複次數以及經歷的時間(Elapsed Time)。

LoadRunner教程獨家中文版

你的系統是否在負載下執行良好?

想要知道你的系統是否在負載下依舊執行良好,你要去檢視事務的響應時間並決定響應時間是否在可接受的範圍內。如果事務的響應時間在場景中增加,你需要去查詢瓶頸出在哪裡。你會在最後一課中學習更多關於這方面的知識。

一旦一個問題被發現,就可能需要包括開發,DBAs(資料庫管理員),網路以及其他方面的系統專家來修復這個問題。在做出適當調整後,我們需要重新進行負載測試來驗證該次做出的調整是否滿足了所需的要求。你重複這一迴圈來使得系統的效能不斷得到最佳化。

為了便於你再次執行具有相同配置的場景,選擇File>Save或點選Controller工具欄中的Save按鈕

LoadRunner教程獨家中文版

進行儲存。

第七課:分析你的場景

在之前的課程中你學會了如何設計,控制,執行一個場景。你執行負載測試,就一定希望能夠分析執行的結果,以找出需要排查的問題來提高你的系統性能。在你的分析的過程中所生成的圖表和報告代表了你場景效能的重要資訊。透過這些圖表和報告,你可以找到你應用程式中存在的瓶頸,以確定需要做怎樣的修整才能提高它的效能。

Analysis Session是怎麼工作的?

Analysis session(分析會話)的目的是為了發現你係統效能上存在的缺陷並找到其根源,例如:

測試的預期達到了嗎?在負載的情況下客戶終端的事務時間是多少?SLA滿足目標嗎?事務的平均事務時間是多少?

系統的哪些部分會導致降低系統的效能?網路和伺服器的響應時間是多少?

你可以透過聯絡事務響應時間和後臺監控模型來找到一個可能的原因嗎?

在後續的章節中你將會學習如何開啟LoadRunner Analysis,並建立與檢視能夠幫你找到效能問題與根源之所在的圖表和報告。

我怎樣開始我的分析會話?

1。開啟HP LoadRunner Analysis:

雙擊桌面上的Analysis圖示,LoadRunner Analysis被開啟;

LoadRunner教程獨家中文版

2。開啟分析會話檔案:

為了達到本節課的目的,能夠舉例分析說明儘可能多樣的結果,我們將會執行一個和你在之前的章節中執行的場景相似的場景。但是這一次,你的場景中將包含70個虛擬使用者,而不再是10個。你現在將要開啟針對於你的測試結果所建立的分析會話。

在Analysis視窗選擇File>Open,Open Analysis Session對話方塊被開啟:

LoadRunner教程獨家中文版

在你的\tutorial資料夾下選擇analysis_session檔案並開啟,Analysis打開了你選擇的會話檔案。

LoadRunner教程獨家中文版

初始Analysis視窗

Analysis包括以下主要欄:

Session Explorer(會話瀏覽器)

Properties pane(屬性欄)

Graph Viewing pane(圖表檢視欄)

Legend pane(說明欄)

LoadRunner教程獨家中文版

Session Explorer:左上角的欄,Analysis顯示了可以檢視的圖表和報告。從這裡你可以增加一些新的圖表或報告也可以刪除一些不想看的圖表或報告。

Properties欄:左下角的欄,Properties欄顯示了你在Session Explorer中選擇的圖表或報告的詳細資訊,黑色字型部分的是可以進行編輯的。

Graph Viewing欄:右上角的欄,Analysis顯示圖表的地方。預設情況下,Summary Report(總結報告)當你開啟一個會話的時候會顯示在這裡。

Legend欄:右下角的欄,你可以在這裡檢視所選擇的圖表的資料。

備註:還有一些可以從工具欄中訪問的欄,這些欄可以進行拖拽並在螢幕上任意地方進行拖放。

我達到了我的目標嗎?(Service Level Agreement)

在這一部分,我們將介紹一下Service Level Agreement,即我們所說的SLA。

SLAs是你為你的負載測試場景所定義的特殊目標。Analysis將這些目標和LoadRunner執行時收集與儲存的效能相關的資料相比較,然後為目標判斷SLA的狀態(透過或失敗)。

例如,你可以為你指令碼中事務的平均事務時間定義一個具體的目標,或臨界值。在測試執行結束後,LoadRunner將你的目標和實際錄製的平均事務時間相對比。Analysis將顯示你定義的每個SLA的狀態,透過或失敗。例如,如果實際的平均事務時間沒有超過你定義的臨界值,SLA的狀態就將是透過的。

作為你目標定義的一部分,你可以讓SLA將負載的標準也考慮在內,換句話說也就是可接受的臨界值將會隨著負載的等級不同而變化,例如,Running Vusers,Throughput等等。當負載增加,你可以允許一個更高的臨界值。

根據你所定義的目標,LoadRunner透過以下幾種方法中的一種確定了SLA的狀態:

按照時間軸上的時間來定義SLA的狀態

:Analysis在執行時按固定的時間間隔顯示SLA的狀態(比如:每隔5s)。

按整個執行過程來定義SLA的狀態:

Analysis為整個場景的執行顯示一個單獨的SLA狀態。

SLAs可以在場景在Controller中執行前就定義好,也可以之後在Analysis中來定義。

在後續的部分中,你將要用HP Web Tours這個樣例來定義一個SLA。假設HP Web Tours的管理員任何時候都想要知道book_flight和search_flight的平均事務時間是否超過了固定的值。為了達到這個目的,你可以選擇事務並設定臨界值(threshold values)。這些臨界值就是平均事務時間在可接受範圍內的最大值。

你也將設定三個臨界值來將具體的負載標準考慮在內,在這個例子中我們指的就是Running Vusers(執行著的虛擬使用者)。換句話說,隨著執行的虛擬使用者數的增加,臨界值也隨之升高。

這是因為雖然HP Web Tours的管理員希望平均事務時間越低越好,但是我們不得不承認這一年中的有些時候HP Web Tours站點確實會承擔相比於平時更大的負載。例如,在旅遊高峰季的時候,會有更多的旅遊客戶去登陸網站來預訂飛機票,檢查航班等等。在這種可以理解的高負載情況下,一個稍微長一點的平均事務響應時間將是可以接受的。

你將設定SLA來考慮三個負載場景,輕負載,正常負載和高負載。每一個場景都有它的臨界值。

我怎樣定義一個SLA?

你將在場景執行後在Analysis中定義一個SLA。

備註:推薦在場景執行前,在Controller中定義一個SLA。但是出於本教程的目的,你還沒有對之前的章節中執行的場景進行分析,你將會在Analysis中定義SLA。想在Controller中定義一個SLA,在Design欄的Service Level Agreement模組中點選“New”。

定義一個SLA:

1。開啟SLA Wizard(嚮導):

在LoadRunner Analysis中,選擇Tools>Configure SLA Rules。Service Level Agreement對話方塊被開啟:

LoadRunner教程獨家中文版

點選“New”開啟Service Level Agreement嚮導:

LoadRunner教程獨家中文版

注意:當你第一次開啟SLA嚮導,Start頁會顯示在你面前。如果你不希望下次執行嚮導的時候再看到這個頁面,勾選“Skip this page next time”。

點選“Next”。

2。為你的目標選擇一個度量尺度。

在Select a Mearsurement for Your Goal頁面,選擇Transaction Response Time為Average:

LoadRunner教程獨家中文版

點選“Next”。

3。選擇要監控的事務。

在Select Transactions頁面,在Available Transactions列表中選擇一個想要監控的事務。

雙擊check_itinerary事務,將它移到Selected Transactions列表中:

LoadRunner教程獨家中文版

點選“Next”。

4。設定負載標準。

在Set Load Criteria頁面,你要讓SLA考慮到不同的負載場景。

從Load Criteria下拉列表中選擇Running Vusers;

像下圖中一樣設定Load Values:

LoadRunner教程獨家中文版

在上圖中,你設定了SLA,對三個潛在的負載場景定義了一個可以接受的平均事務時間:

-Light Load(輕負載):0到19個虛擬使用者;

-Average Load(正常負載):20到49個虛擬使用者;

-Heavy Load(重負載):多於50個虛擬使用者;

點選“Next”。

5。設定臨界值。

在Set Threshold Values頁面,你為check_itinerary事務定義了一個可以接受的平均事務時間。像下圖中所示來對臨界值進行設定:

LoadRunner教程獨家中文版

在此你僅僅指出了下列平均事務時間是可以接受的:

-Light Load(輕負載):小於等於5s;

-Average Load(正常負載):小於等於10s;

-Heavy Load(重負載):小於等於15s。

6。儲存SLA。

先後點選“Next”和“Finish”,視窗關閉。

Analysis將會把你的SLA設定應用到Summary Report(總結報告)中,之後的report將會被更新,包含所有相關的SLA資訊。

我要怎樣檢視效能的總結?

Summary Report欄顯示了關於場景執行的總體資訊和統計,以及所有相關的SLA資訊。例如,根據我們定義的SLAs效能最壞的事務都有哪些,在特定的時間間隔下特定的事務如何執行,以及所有的SLA狀態。你要從Session Explorer中開啟Summary Report。

1。什麼是總體場景統計?

在Statistics Summary模組,你可以看到最多有70個虛擬使用者在本次測試中執行。其餘的統計諸如total/average throughput,total/average hits等資訊也會被顯示出來。

LoadRunner教程獨家中文版

2。效能最差的事務有哪些?

這五個最壞事務的表單會告訴你:根據你定義的SLA,哪5個事務的效能最壞。

LoadRunner教程獨家中文版

你可以看到在check_itinerary事務執行的時間段內,有66。4%的時間超過了SLA中所定義的臨界值。在整個執行過程中超過SLA臨界值程度的平均百分比為200。684%。

3。在哪些時間段內臨界值被超越?

Scenario Behavior Over Time模組將會顯示不同時間內事務的效能,綠色的方塊顯示的是事務效能在SLA所設定的臨界值內的時間段,紅色的方塊顯示的是失敗的事務,灰色的方塊顯示的是沒有相關的SLA被定義。

LoadRunner教程獨家中文版

你可以看到對於你定義了SLA的事務,check_itinerary在多數時間段內效能超過了臨界值。

4。什麼是總體事務效能?

Transaction Summary模組列出了每一個事務的效能總結。

LoadRunner教程獨家中文版

我們還可以看到check_itinerary事務失敗了28次。

回顧每個事務的時間,90 Percent這一列顯示了特定事務90%次執行所用的時間。你可以看到90%的check_itinerary事務在測試中執行耗時65。754秒,是它平均時間(32。826秒)的兩倍,這意味著該事務在大多數情況下響應時間較慢。

注意SLA Status這一列顯示了和“在SLA中定義的事務”相關的總體狀態:check_itinerary的SLA Status為Failed。

我要看的到的效能!

你可以在Session Explorer欄中訪問可觀看的效能圖。接下來你要檢視並分析Average Transaction Response Time圖。

1。開啟Average Transaction Response Time圖:

在Graphs下的Session Explorer中選擇Average Transaction Response Time。Average Transaction Response Time圖將會顯示在圖顯區域。

LoadRunner教程獨家中文版

在Legend欄點選check_itinerary事務,相應在圖中的事務折線會被高亮顯示。

LoadRunner教程獨家中文版

圖上的點代表了場景執行中某一時間點事務的平均響應時間。讓你的滑鼠停留在圖中的某點上,一個黃色的方框將出現並顯示該點的座標資訊。

LoadRunner教程獨家中文版

2。分析結果:

注意到check_itinerary事務的平均事務時間波動很大,並且在場景執行到2分56秒時達到了一個75。067秒的峰值。

LoadRunner教程獨家中文版

在一個性能良好的伺服器上,事務將會有一個比較平穩的平均時間折線,在圖的最下方,你可以看到logon,logoff,book_flight,以及search_flight事務都有著相對更穩定的平均事務時間。

我的伺服器是否效能良好?

在課程之前的部分你看到了你的伺服器效能的不穩定性。現在你將要分析70個Running Vusers(正著執行的虛擬使用者)對你的系統所產生的影響。

1。研究虛擬使用者的行為:

在Graphs下的Session Explorer中點選Running Vusers。Running Vusers圖將顯示在圖顯區域。

LoadRunner教程獨家中文版

你可以看到虛擬使用者逐漸的開始執行,之後經歷了一個大約三分鐘的長度,這段時間內70虛擬使用者同時執行,再後來虛擬使用者逐漸停止執行。

2。在該圖中進行過濾,以使你只能看到所有的虛擬使用者同時執行時的時間段。

當你在一個圖中進行過濾的時候,圖中的資料也會被收縮,收縮到只顯示你關心的那部分。其他的部分都將被隱藏掉。

在圖上點右鍵,選擇Set Filter/Group By,或者你也可以點選Analysis工具欄中的Set Filter/Group By按鈕

LoadRunner教程獨家中文版

在Filter Condition區域,選擇Scenario Elapsed Time行Values列。

按照下圖中進行設定:

LoadRunner教程獨家中文版

點選“OK”;

在Graph Settings對話方塊點選“OK”。

LoadRunner教程獨家中文版

Running Vusers圖現在只顯示1:30到3:45這段時間在場景中執行著的虛擬使用者。所有其他的虛擬使用者將被過濾掉。

LoadRunner教程獨家中文版

注意:要清理filter,在圖上點選右鍵,選擇Clear Filter/Group By,或者也可以點選Analysis工具欄中的Clear Filter/Group By按鈕

LoadRunner教程獨家中文版

3。聯絡Running Vusers圖和Average Transaction Response Time圖來比較他們的資料。

你可以將這兩個表拼接在一起以觀察一張圖中資料對另一張圖中的資料所產生的影響,這種做法叫做關聯兩張圖。

例如,你可以將Running Vusers圖和Average Transaction Response Time圖進行關聯來檢視大量的虛擬使用者對平均事務時間產生的影響。

右鍵點選Running Vusers圖選擇“Clear Filter/Group By”;

右鍵點選圖,選擇“Merge Graphs”;

從Select graph to merge with列表中選擇“Average Transaction Response Time”;

在Select type of merge下選擇“Correlate”,並點選“OK”。

現在這兩張圖就合在一起顯示了——Running Vusers - Average Transaction Response Time圖。

LoadRunner教程獨家中文版

4。分析相關的圖:

在這張圖中你可以看到隨著虛擬使用者數的增多,check_itinerary事務的平均時間逐漸增加。換句話說,平均響應時間隨著負載增加而增加。

在66個虛擬使用者的時候,平均響應時間出現了一個急劇的(sudden,sharp)增長。我們說這個測試broke the server(衝破了伺服器),在多於66個虛擬使用者同時執行時,平均響應時間開始減少。

儲存一個模板(template)

至今你已經過濾了一張圖並關聯了兩張圖。下一次你分析場景的時候,你可能會想要看到相同的圖,有相同的過濾與合併條件。你可以將你的merge and filter(合併與過濾)的設定儲存到一個模板中,並將它們用於其他的分析會話中。

儲存你的模板:

1。選擇Tools>Templates,出現如下對話方塊:

LoadRunner教程獨家中文版

2。在Templates欄點選“New”

LoadRunner教程獨家中文版

按鈕,如下對話方塊被開啟:

LoadRunner教程獨家中文版

3。輸入一個名字並點選“OK”;

4。點選“Save and close”按鈕關閉Apply/Edit Template對話方塊。

下一次你開啟一個新的分析會話並且想要用一個已存的模板時:

選擇Tools>Templates,Apply/Edit Template對話方塊被開啟;

從列表中選擇你的模板,並點選“Save and close”。

我怎樣精確定位問題所出自的根源?

至今為止,你已經看到了隨著負載的增加,對check_itinerary事務的平均響應時間會產生一個負面的影響。

你可以更深入的研究check_itinerary事務以便發現哪些系統資源負面地影響了它的效能。

這個自動關聯工具可以將所有包含可能會影響到check_itinerary事務響應時間的資料的圖合併到一起並精確的定位問題發生時還有什麼事情正在發生。

1。從graph樹中選擇Average Transaction Response Time圖。

LoadRunner教程獨家中文版

看check_itinerary這一事務,特別在過去的1到4分鐘這一時間段內。平均響應時間直線上升並在3分鐘左右到達峰值。

2。過濾Average Transaction Response Time圖,只檢視check_itinerary事務:

右鍵點選圖片,選擇“Set Filter/Group by”;

在Transaction Name / Value格中選擇“check_itinerary”;

點選“OK”。

LoadRunner教程獨家中文版

LoadRunner教程獨家中文版

3。自動關聯圖:

右鍵點選圖,選擇“Auto Correlate”;

在Auto Correlate對話方塊中確定Measurement to Correlate選擇的是check_itinerary,並將時間範圍設為從1:20到3:40——你可以直接在框中輸入,也可以在圖中ElapsedScenario Time軸上對紅色和綠色的杆兒進行拖拽。

LoadRunner教程獨家中文版

點選“OK”。這個Auto Correlated Graph(自動關聯圖)將會顯示在圖顯區域。Check_itinerary這一事務被高亮顯示。

LoadRunner教程獨家中文版

這個自動關聯的圖有個預設的名字:Auto Correlated Graph [1]。

4。為該圖重新命名:

在Session Explorer中的Graphs下右鍵點選Auto Correlated Graph [1]並選擇“Rename Item”,圖的名字變為可編輯狀態;

輸入Auto Correlated - check_itinerary並按回車,或者隨便點旁邊的什麼地方都行。

5。分析自動關聯圖:

在Legend欄下,從Graph列為Windows Resources的項中找到Measurement為Pool Nonpaged Bytes和Private Bytes這倆Measurements。

LoadRunner教程獨家中文版

在Measurement和Correlation Match列中,你可以看到這些記憶體相關的measurements(測量尺度),和check_itinerary這一事務的Correlation Match超過了70%。這意味著這些元素的效能和check_itinerary這一事務的效能在指定的時間段內緊緊相關。

我們可以準確的斷定當check_itinerary這一事務的響應時間達到峰值的時候,系統的記憶體資源將會出現短缺。

我還可以收集到和場景執行相關的其他資訊嗎?

除了在分析會話開始的graph樹上能看到的圖外,你可以顯示各種圖來收集其他關於場景執行的資訊。

1。點選Graph>Add New Graph:

Open A New Graph對話方塊被開啟並列舉了包含資料的並能夠顯示的圖的種類:

LoadRunner教程獨家中文版

Vusers——顯示虛擬使用者及其狀態的資訊;

Errors——顯示錯誤統計;

Transactions——顯示事務及其響應時間的資料;

Web Resources ——顯示點選量,吞吐量,以及連線資料;

Web Page Diagnostics——顯示你指令碼中監控的各個網頁的資料;

System Resources——顯示系統資源使用的資料;

2。顯示一個新圖:

在Open A New Graph對話方塊中,點選列出的分類左側的“+”來展開分類;

選擇一張圖並點選“Open Graph”按鈕;

點選“Close”按鈕關閉Open A New Graph對話方塊。

現在開啟一些其他的圖來對你的場景執行情況有一個更好的瞭解。

我怎樣釋出我的發現?

你可以從你的分析會話中透過HTML或微軟的Word報告來發布你的發現。報告是用設計者模板建立的,並且包含了解釋以及對圖和資料的說明。

HTML Reports

HTML報告可以在任何瀏覽器被開啟和檢視。

建立一個HTML報告:

點選Reports>HTML Report;

為你的報告起個名兒,和你要將它儲存的路徑;

點選“Save”進行儲存。

點選“Save”後Analysis會自動建立報告並將它顯示在你的瀏覽器中。

LoadRunner教程獨家中文版

你會注意到你的HTML報告的佈局和你的分析會話非常相似。你可以點選左側欄中的連結來檢視不同的圖。每張圖的描述資訊將會在頁面底部給出。

LoadRunner教程獨家中文版

微軟Word報告

你可以將你的分析會話表現在一個微軟的word報告中。Word報告比HTML報告更好理解,因為你可以選擇讓它包含場景的總體資訊,測量尺度描述(measurement description)等等。你也可以格式化你的報告,讓它包含你公司的名字和標誌(logo),以及作者的詳細資訊。

就像任意一個Word檔案一樣,這個報告是可以編輯的,所以你可以在你生成的報告中新增更多的評論與發現。

建立一個微軟Word報告:

1。點選Reports>New Report:New Report對話方塊打開了。

LoadRunner教程獨家中文版

2。在General欄中:

Based on template選擇Detailed report (for single run)

為你的Report起一個標題;

輸入作者姓名,工作標題,公司名稱。

LoadRunner教程獨家中文版

3。在Format欄中:

預設情況下,建立的報告將會包括一個標題頁面,一個包含內容的表結構,圖的詳細資訊以及描述,以及測量尺度描述(measurement description)。你可以選擇性的將指令碼中的資訊加到報告裡,讓你可以檢視業務流程步驟中的縮圖。

你可以透過選擇“Include company logo”找到相應的logo檔案位置並加入報告中。Logo檔案必須是個“。bmp”格式的檔案。

LoadRunner教程獨家中文版

4。在“Content”欄中:

選擇你要加入到你的報告中的場景執行和分析會話的部分內容。出於本教材的目的,你要新增一個“Executive Summary”(概要)到Content Items列表中;

點選“Add”按鈕

LoadRunner教程獨家中文版

來開啟“Add Content Items”視窗,選擇“Executive Summary”並點選OK:

LoadRunner教程獨家中文版

“Executive Summary”被加到左側的Content Items欄中。

選擇“Executive Summary”,在右側編輯框中輸入下列文字:

- Objectives: The objectives of the test scenario were to。。。。

- Conclusions: The conclusions I reached are as follows

LoadRunner教程獨家中文版

在Content Items欄中,選擇“Largest URLs by Average Kbytes”並點選Delete按鈕

LoadRunner教程獨家中文版

。這樣做將不會把該圖包含在報告中。

改變報告中顯示內容項的順序。

在Content Items欄中選擇Workload Characteristics。在Selected Columns列表中點選“Average Hits per Second”。

點擊向下箭頭按鈕直到它移動到Total Transactions Number下面。在報告中,Average Hits per Second這一內容項將會在Total Transactions Number這一內容項後面緊接著顯示。

LoadRunner教程獨家中文版

5。點選“Generate”按鈕:

LoadRunner教程獨家中文版

之後LoadRunner將會自動收集資料並生成一個Microsoft Word檔案,並用Microsoft Word開啟。

除了你在分析會話時生成的圖外,報告還包含了一個客觀的結論,以及其他你在建立報告時選擇的部分和圖表。

LoadRunner教程獨家中文版

總結

在這節課中,你學會了最基本的——定義SLA(Service Level Agreement),分析一個場景的執行,以及將你的測試結果釋出到報告中。

你已經知道效能上的問題將會在你研究各種顯示伺服器瓶頸的圖表後被發現,原因可能是由於負載過重。你已經看到了,你可以透過配置圖表來顯示相關聯的資料,指出這些瓶頸的根源之所在。

標簽: 點選  負載  使用者  虛擬  指令碼