lr概念

一、TPS:Trasaction per second也就是事務數/秒。它是 軟件測試結果的測量單位。一個事務是指一個客戶機向服務器發送請求而後服務器作出反應的過程。客戶機在發送請求時開始計時,收到服務器響應後結束計時,以此來計算使用的時間和完成的事務個數,最終利用這些信息來估計得分。客戶機使用加權協函數平均方法來計算客戶機的得分,測試軟件就是利用客戶機的這些信息使用加權協函數平均方法來計算服務器端的總體TPS得分。通常來講系統的TPS取決於系統事務最低處理能力的模塊的TPS,經驗值10-100
二、HPS:Hit per second也就是點擊數/秒,指的是一秒鐘的時間內用戶對WEB頁面的連接、提交按鈕等點擊的總和。通常與TPS成正比關係,是衡量B/S系統的一個主要指標
三、Throughput/s:吞吐率,指的是每秒系統處理的客戶的請求的數量,也能夠理解爲單位時間內客戶接收到的服務的反饋量
分析:
一、TPS標準差/TPS Average>8%,或者<2%則系統存在性能瓶頸
二、當增大系統的壓力(或增長併發用戶數)時,吞吐率和TPS的變化曲線呈正比變化,則系統基本穩定
三、若壓力增大時,吞吐率的曲線增長到必定程度後出現變化緩慢,甚至平坦,同時TPS也趨於平坦,查看系統資源使用,若是資源使用率比較高,則說明服務器硬件資源存在問題,須要拓展硬件或者優化應用。反之,則說明服務器硬件資源不存在問題,查看網絡流量,估計網絡帶寬存在問題。
四、點擊率/TPS曲線出現變化緩慢或者平坦,極可能是服務器響應時間增長,觀察服務器資源使用狀況,肯定是不是服務器問題或者應用問題
======================================================================================
think_time:
========================================================================
自動關聯:

Loadrunner關聯(一)何時須要作關聯javascript

1.關聯的含義php

關聯(correlation):在腳本回放過程當中,客戶端發出請求,經過關聯函數所定義的左右邊界值(也就是關聯規則),在服務器所響應的內容中查找,獲得相應的值,已變量的形式替換錄製時的靜態值,從而向服務器發出正確的請求,這種動態得到服務器響應內容的方法被稱做關聯。html

其實關聯也屬於一同特殊的參數化,只是與通常的參數化有些不一樣java

通常的參數化的參數來源於一個文件、一個定義的table、經過sql寫的一個結果集等,但關聯所得到的參數是服務器響應請求所返回的一個符合條件的、動態的值web

2.何時須要作關聯sql

要想弄清這個問題,咱們首先要知道客戶端與服務器端的請求與響應的過程服務器

拿一個登陸的過程咱們來看一下:網絡

 

 

過程說明:session

客戶端發出得到登陸頁面的請求併發

服務器端獲得該請求後,返回登陸頁面,同時動態生成一個Session Id

當用戶輸入用戶名密碼,請求登陸時,該Session Id同時被髮送到服務器端

若是該Session Id在當前會話中有效,那麼返回登陸成功的頁面,若是不正確則登陸失敗

在第一次錄製過程當中loadrunner把這個值記錄了下來,寫到了腳本中,但再次回放時,客戶端發出一樣的請求,而服務器端再一次動態的生成了Session Id,此時客戶端發出的請求就是錯誤的,爲了得到這個動態的Session Id咱們這裏用到了關聯。

因此咱們得出結論:

當客戶端的某個請求是隨着服務器端的相應而動態變化的時候,咱們就須要用到關聯

固然咱們在錄製腳本時應該對測試的項目進行適當的瞭解,知道哪些請求須要用到服務器響應的動態值,若是咱們不明確那些值須要作關聯的話,咱們也能夠將腳本錄製兩遍,經過對比腳本的方法來查找須要關聯的部分,但並非說兩次錄製的全部不一樣點都須要關聯,這個要具體狀況具體分析

關於自動關聯和手動關聯我會在下篇日誌中描述

 

Loadrunner關聯(二)自動關聯

上一篇日誌介紹了關聯的含義及什麼樣的狀況下須要用到關聯

此次咱們介紹一下loadrunner中的自動關聯

自動關聯包含兩種機制:

一種是loadrunner經過對比錄製和回放時服務器響應的不一樣,而提示用戶是否進行關聯,用戶可本身建立關聯規則,這個功能能夠方便的使咱們得到須要關聯的部分,但同時也存在必定的問題,如:自動關聯所檢測到的關聯點不必定真的須要進行關聯,這要咱們更具實際狀況進行判斷;有些須要關聯的動態數據自動關聯沒法找到,這是就須要作手動關聯

另外一種是loadrunner自帶的自動關聯規則,在錄製腳本時,會根據這些規則自動建立關聯

自動關聯的步驟以下:

1.開啓自動關聯選項

剛纔提到的兩種關聯機制,若是用戶想使用loadrunner自帶的關聯規則建立關聯,那麼須要在Recording Options>Internet Protocol>Correlation】中啓用關聯規則,選中「Enable correlation during recording」,當錄製這些應用系統的腳本時,VuGen會在腳本中自動創建關聯。也能夠在【Recording Options>Internet Protocol>Correlation】中添加關聯規則,達到自動關聯的目的。

若是須要在回放腳本時,loadrunner自動檢測須要關聯的部分,那麼須要在【Tools>general options>Correlation】中選中「save correlation information during replay」和「show scan for correlations popup after replay of vuser」,當回放玩腳本後,會彈出Scan action for correlation窗口,進行關聯點的搜索

 

2.錄製腳本

錄製腳本的過程在這裏就很少說了

 

3.回放腳本

若是錄製的腳本存在須要作關聯的部分,那麼在回放腳本時會出現錯誤

 

4.系統自動彈出檢測關聯對話框,或手動啓動關聯檢測對話框

若是選擇了Tools>general options>Correlation】中的「save correlation information during replay」和「show scan for correlations popup after replay of vuser」,那麼在回放腳本後會自動彈出「Scan action for correlation」窗口,點擊「yes」進行自動查找

若是沒有選擇上述設置,那麼也能夠按CTRL+F8啓動關聯自動搜索

 

5.查看系統檢測出的關聯點進行關聯設置

若是在錄製和回放中存在差別,loadrunner會在「Correlation Results」中列出須要作關聯的內容,用鼠標點擊一條須要作關聯的內容,點擊「Create Rule」,系統會顯示得到當前數據的規則,點擊「yes」,完成規則的建立,同時查看腳本中增長了一個web_reg_save_param函數

也能夠點擊Correlate】按鈕建立關聯,一筆一筆作,或是按下【Correlate All】讓VuGen一次就對全部的數據創建關聯。

注意:因爲Correlation Studio會找出全部有變更的數據,可是並非全部的數據都須要作關聯,因此不建議您直接用【Correlate All】。

 

6.回放腳本檢查關聯的正確性

建立好關聯後,回放腳本檢查關聯的正確性

 

Loadrunner關聯(三)手動關聯

原創文章,轉載註明出處:http://www.51testing.com/?41972

手動關聯的過程大體以下:

第一步:錄製測試腳本,錄製二遍

第二步:使用WinDiff工具找出兩次腳本的不一樣,判斷是否須要進行關聯

第三步:肯定插入關聯的位置
G$eAB0L216511
第四步:在VIEW TREE中使用web_reg_save_param函數手動創建關聯 51Testing軟件測試網0CMU {K8n
第五步:將腳本中有用到關聯的數據,用參數代替

第六步:驗證關聯的正確性

 

下面詳細介紹:

第一步:

錄製測試腳本,錄製二遍

這一步就不用多說了,相同的操做,錄製兩份,分別保存

第二步:

使用WinDiff工具協助找出須要關聯的數據
6Jihe!LY*V.X2165111.
在第二份腳本中,點選VuGen的【Tools>Compare with Vuser…】,並選擇第一份腳本。
51Testing軟件測試網7m gr/Q h#H;o
2.
接着WinDiff會開啓,同時顯示二份腳本,並顯示有差別的地方。WinDiff會以一整行黃色標示有差別的腳本,而且以紅色的字體顯示真正差別的文字。(假如沒看到紅色字體,請點選【Options>View>Show Inline Differences】)。

查看二份腳本中差別的部份,每個差別均可能是須要作關聯的地方。

注意:lr_thik_time部分的差別能夠忽略

找到不一樣的部分後,複製,而後打開Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘貼差別部分的內容,點擊查找找到後,查看該部分的信息,確認是客戶端的請求信息仍是服務器迴應的信息

若是出如今$$$$$$ Request Header For Transaction With Id 3 Ended $$$$$$這個部分,那證實是客戶端發出的請求,這裏是不須要作關聯的

通常作的關聯都是出如今****** Response Header For Transaction With Id 7 ************ Response Body For Transaction With Id 7 ******中的部分。

在找到這個信息後,須要記錄以下信息:

a.記錄這個不一樣數據以前的內容和以後的內容

b.記錄這個不一樣數據出現的位置,是Header仍是Body

 

第三步:

確認插入關聯的位置

咱們在日誌中找到了兩次腳本的不一樣點的位置,根據這個位置,咱們再肯定是在哪一個請求以後產生的,也就是說要定位發生不一樣點的response是由哪一個request產生的,找到了這個請求的函數位置,咱們就知道要往哪裏作關聯了

通常狀況下關聯函數寫到發出請求的函數以前就能夠了

 

第四步:

插入關聯函數

在插入關聯函數前,咱們先介紹關聯函數web_reg_save_param

  一個web_reg_save_param函數的例子:

web_reg_save_param ("sessionid",

      "LB=Session_id:",

      "RB=;",

      "Search=Body",

      LAST);

在這裏咱們只介紹幾個經常使用參數的含義

語法:int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);

參數說明:

ParamName: 存放獲得的動態內容的參數名稱

list of Attributes: 其它屬性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。屬性值不分大小寫

LB( Left Boundary ) : 返回信息的左邊界字串。該屬性必須有,而且區分大小寫。

RB( Right Boundary ): 返回信息的右邊界字串。該屬性必須有,而且區分大小寫。

Search : 返回信息的查找範圍。能夠是HeadersBodyNoresourceAll(缺省)。該屬性質無關緊要。

 

那麼如何插入該關聯函數呢?

1.vugun切換到 view tree 模式下

2.在左邊的列表中,找到在上一步發出請求的函數,點擊「右鍵」

選擇「insert before

3.在彈出的「add step」對話框的「find function」中輸入「web_reg_save_param」,點擊「ok

在「parameter name」中輸入,關聯函數的名稱,這裏最好有含義,「sessionid

在「left boundary」中輸入,剛纔記錄下的不一樣點字符串的左面的幾個字符,定義左邊界,Session_id:

在「right boundary」中輸入,剛纔記錄下的不一樣點字符串的右面的幾個字符,定義右邊界,;

在「search in 」中,選擇「body

點擊「ok

4.回到腳本編輯模式下,查看該函數插入是否正確

在發出請求的函數前應該看到:

web_reg_save_param ("sessionid",

      "LB=Session_id:",

      "RB=;",

      "Search=Body",

      LAST);

 

第五步:

將腳本中有用到關聯的數據,用參數代替

 

 

如發出請求的參數以下,那麼將原來服務器返回的動態值使用{ sessionid } 來替換:

 

  web_submit_form("login.php_2",

      "Snapshot=t2.inf",

      ITEMDATA,

      "Name=login", "Value=wangjin", ENDITEM,

      "Name=password", "Value=wangjin", ENDITEM,

        "Name=Session_id","Value={ sessionid } ", ENDITEM,

      "Name=Submit", "Value=Login", ENDITEM,

      EXTRARES,

      "URL=/media/images/border_bg_l.gif", ENDITEM,

      "URL=/media/images/header_bg.gif", ENDITEM,

      "URL=/media/images/th.gif", ENDITEM,

      LAST);

 

第六步:

驗證關聯的正確性

回放腳本,驗證關聯的正確性

===================================================================================== 
  Diagnostics使用介紹和分析診斷<HP 產品>
相關文章
相關標籤/搜索