1. 程式人生 > >jmeter測試報告分析

jmeter測試報告分析

https://blog.csdn.net/qq_24373725/article/details/78952447

 

Jmeter報告解析
  1、Aggregate Report 解析
  Aggregate Report 是 JMeter 常用的一個 Listener,中文被翻譯為“聚合報告”。今天再次有同行問到這個報告中的各項資料表示什麼意思,順便在這裡公佈一下,以備大家查閱。
  如果大家都是做Web應用的效能測試,例如只有一個登入的請求,那麼在Aggregate Report中,會顯示一行資料,共有10個欄位,含義分別如下。
  Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這裡顯示的就是 Name 屬性的值
  #Samples:表示你這次測試中一共發出了多少個請求,如果模擬10個使用者,每個使用者迭代10次,那麼這裡顯示100
  Average:平均響應時間——預設情況下是單個 Request 的平均響應時間,當使用了 Transaction Controller 時,也可以以Transaction 為單位顯示平均響應時間
  Median:中位數,也就是 50% 使用者的響應時間
  90% Line:90% 使用者的響應時間
  Note:關於 50% 和 90% 併發使用者數的含義,請參考下文
  http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
  Min:最小響應時間
  Max:最大響應時間
  Error%:本次測試中出現錯誤的請求的數量/請求的總數
  Throughput:吞吐量——預設情況下表示每秒完成的請求數(Request per Second),當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數
  KB/Sec:每秒從伺服器端接收到的資料量,相當於LoadRunner中的Throughput/Sec
  基本知識:
  1、吞吐量:是指在沒有幀丟失的情況下,裝置能夠接受的最大速率。
  2、儲存的最小單位是位元組Byte,對於儲存單位,有以下幾個單位,GB、MB和KB,那麼這三者之間的換算關係是:1GB=1024MB,1MB=1024KB,1KB=1024Bytes。
  Bit :“位”,稱為bit,也就是位元,有的時候也稱為位。一個位元組為8位二進位制表示。
  Byte:“位元組”,一個位元組就是8位元。
  3、Mbps (million bits per second 兆位/秒) 代表每秒傳輸1,000,000位元。該縮寫用來描述資料傳輸速度。例如:4Mbps=每秒鐘傳輸4M位元。
  資料傳輸速率的單位,字母b(bit)是位元和字母 B (Byte)是位元組。
  4、吞吐量與頻寬的區分:吞吐量和頻寬是很容易搞混的一個詞,兩者的單位都是Mbps.先讓我們來看兩者對應的英語,吞吐量:throughput ; 頻寬: Max net bitrate 。當我們討論通訊鏈路的頻寬時,一般是指鏈路上每秒所能傳送的位元數。我們可以說乙太網的頻寬是10Mbps。但是,我們需要區分鏈路上的可用頻寬(頻寬)與實際鏈路中每秒所能傳送的位元數(吞吐量)。我們傾向於用“吞吐量”一次來表示一個系統的測試效能。這樣,因為實現受各種低效率因素的影響,所以由一段頻寬為10Mbps的鏈路連線的一對節點可能只達到2Mbps的吞吐量。這樣就意味著,一個主機上的應用能夠以2Mbps的速度向另外的一個主機發送資料。
  5、方差和標準差都是用來描述一組資料的波動性的(集中還是分散),標準差的平方就是方差。方差越大,資料的波動越大。
詳細結果分析:用過LoadRunner的人應該都知道,LoadRunner會為我們提供一大堆圖示和曲線。但是在Jmeter裡,我們只能找到幾個可憐的Listener來方便我們檢視測試結果。但是,對於初學者來說,一些簡單的結果分析工具可以使我們更容易理解效能測試結果的分析原理。所以,千萬別小看這幾個簡單的Listener啊。

A.Aggregate Report 聚合報告

 

我們可以看到,通過這份報告我們就可以得到通常意義上效能測試所最關心的幾個結果了。

Samples -- 本次場景中一共完成了多少個Transaction

Average -- 平均響應時間

Median -- 統計意義上面的響應時間的中值

90% Line -- 所有transaction中90%的transaction的響應時間都小於xx

Min -- 最小響應時間

Max -- 最大響應時間

PS: 以上時間的單位均為ms

Error -- 出錯率

Troughput -- 吞吐量,單位:transaction/sec

KB/sec -- 以流量做衡量的吞吐量

B.View Results Tree 以樹狀列表檢視結果

 

通過這個Listener,我們可以看到很詳細的每個transaction它所返回的結果,其中紅色是指出錯的transaction,綠色則為通過的。

如果你測試的場景會有很多的transaction完成,建議在這個Listener中僅記錄出錯的transaction就可以了。要做到這樣,你只需要將Log/Display:中的Errors勾中就可以了。

二、.jtl檔案的分析

在效能測試過程中,我們往往需要將測試結果儲存在一個檔案當中,這樣既可以儲存測試結果,也可以為日後的效能測試報告提供更多的素材。

Jmeter中,結果都存放在.jtl檔案。這個.jtl檔案可以提供多種格式的編寫,而一般我們都是將其以csv檔案格式記錄,這樣做是因為csv檔案格式看起來比較方便,更重要的是這樣做可以為二次分析提供很多便利。

我這裡所說的二次分析是指除了使用Listener之外,我們還可以對.jtl檔案進行再次分析。

a.設定jtl檔案格式

我們從jmeter官方網站中下載下來的Jmeter解壓後是可以直接使用的。但是,使用預設配置生成的jtl檔案內容並不能滿足我們的需要。於是我們必須進行必要的設定。在2.2版本中,如果要修改jtl設定必須要到jmeter.properties檔案中設定;但是在2.3版本中,我們只需要在介面上設定就可以了。你只需要選擇某個Listener,點選頁面中的configure按鈕。此時,一個設定介面就會彈出來,建議多勾選如下項:Save Field Name,Save Assertion Failure Message。

b.jtl檔案中的各項

經過了以上設定,此時儲存下來的jtl檔案會有如下項:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,Latency

請求發出的絕對時間,響應時間,請求的標籤,返回碼,返回訊息,請求所屬的執行緒,資料型別,是否成功,失敗資訊,位元組,響應時間

其中聚合報告中的,吞吐量=完成的transaction數/完成這些transaction數所需要的時間;平均響應時間=所有響應時間的總和/完成的transaction數;失敗率=失敗的個數/transaction數

溫馨提示:在jmeter2.2和2.3版本中,都存在的一個問題是當我們重新開啟jmeter,使用某個Listener來檢視jtl檔案時,jmeter是會報錯的。因此當你使用命令列方式完成了一個場景的測試後,你得到的只是一堆儲存在jtl檔案中的原始資料。所以知道聚合報告中的各項的來源是可以方便大家擺脫測試工具來進行結果的分析。

總的來說,對於jmeter的結果分析,主要就是對jtl檔案中原始資料的整理,我是使用一些小指令碼進行相關的分析的,不知道你打算怎麼做呢?

反正實踐後,你總能找到一條屬於自己的資料分析之路。

測試結果的分析說明

說明:

Label:每個 JMeter 的 element (例如 HTTP Request )都有一個 Name 屬性,這裡顯示的就是 Name 屬性的值

#Samples:表示你這次測試中一共發出了多少個請求,我的測試計劃模擬 10 個使用者,每個使用者迭代 10 次,因此這裡顯示 100

Average:平均響應時間 —— 預設情況下是單個 Request 的平均響應時間,當使用了 Transaction Controller 時,也可以以 Transaction 為單位顯示平均響應時間

Median:中位數,也就是 50 %使用者的響應時間

90% Line: 90 %使用者的響應時間

Min: 最小響應時間

Max: 最大響應時間

Error%:本次測試中出現錯誤的請求的數量 / 請求的總數

[NextPage]

Throughput:吞吐量 —— 預設情況下表示每秒完成的請求數( Request per Second ),當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數

KB/Sec:每秒從伺服器端接收到的資料量,相當於 LoadRunner 中的 Throughput/Sec

我分別模擬10、25、50、75和100個使用者併發訪問該頁面,根據報告所得測試結果作出如下統計。注:時間單位是ms

 

使用者數 #Samples Average Median 90%Line Min Max Error% Throughput KB/Sec

10 642 672 688 125 125 719 00.0 14.8/sec 221.15

25 250 1620 1687 1750 250 1781 00.0 14.5/sec 217.14

50 500 3319 3438 3578 281 3657 00.0 14.2/sec 212.02

75 750 4887 5109 5584 328 7094 00.0 14.5/sec 216.67

100 1000 6244 6485 6672 250 6844 00.0 15.1/sec 225.43

一般情況下,當用戶能夠在2秒以內得到響應時,會感覺系統的響應很快;當用戶在2-5秒之間得到響應時,會感覺系統的響應速度還可以;當用戶在5-10秒以內得到響應時,會感覺系統的響應速度很慢,但是還可以接受;而當用戶在超過10秒後仍然無法得到響應時,會感覺系統糟透了,或者認為系統已經失去響應,而選擇離開這個Web站點,或者發起第二次請求。故該系統的使用者資訊查詢資訊頁面的在10到25人併發訪問時,系統響應速度很快,25人到50人併發訪問時速度還可以,50人到100人併發訪問就比較慢了。
---------------------
作者:slq520
來源:CSDN
原文:https://blog.csdn.net/qq_24373725/article/details/78952447
版權宣告:本文為博主原創文章,轉載請附上博文連結!