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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM