JMeter——線程組&聚合報告


 

一、線程組分類

線程組元件是任何一個測試計划的開始點。在一個測試計划中的所有元件都必須在某個線程下。所有的任務都是基於線程組。

上圖可以看到,jmeter有三個添加線程組的選項,名字不一樣, 但是創建之后,其界面是完全一樣的。

1、setup thread group

 一種特殊類型的ThreadGroup的,可用於執行預測試操作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行測試前進行定期線程組的執行。

 應用場景舉例:

  • 測試數據庫操作功能時,用於執行打開數據庫連接的操作;
  • 測試用戶購物功能時,用於執行用戶的注冊、登錄等操作;

2、teardown thread group

 一種特殊類型的ThreadGroup的,可用於執行測試后動作。這些線程的行為完全像一個正常的線程組元件。不同的是,這些類型的線程執行測試結束后執行定期的線程組。

 應用場景舉例:

  • 測試數據庫操作功能時,用於執行關閉數據庫連接的操作;
  • 測試用戶購物功能時,用於執行用戶的退出等操作;

 注意:

  默認情況下,如果測試按預期完成,則TearDown線程組將不會運行。 如果你想要運行它,則需要從Test Plan界面中選中復選框“Run tearDown Thread Groups after”。  

3、thread group(線程組)

 這個就是我們通常添加運行的線程。通俗的講一個線程組,可以看做一個虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶。線程組中包含的線程數量在測試執行過程中是不會發生改變的。

 

二、線程組配置

線程組元件是任何測試計划的起點。一個測試計划的所有元件必須在一個線程組下。由名字可以看出,線程組元件控制JMeter運行測試時使用的線程數。

1、取樣器錯誤后要執行的動作:

  • 繼續:忽略錯誤,繼續執行
  • Start Next Thread Loop: 忽略錯誤,線程當前循環終止,執行下一個循環。
  • 停止線程:當前線程停止執行,不影響其他線程正常執行。
  • 停止測試:整個測試會在所有當前正在執行的線程執行完畢后停止
  • Stop test now:整個測試會立即停止執行,當前正在執行的取樣器可能會被中斷。

這幾個配置項控制了“當遇到錯誤的時候測試的執行策略”是否會繼續執行。

 

2、設置線程數:

線程數也就是並發數,每個線程將會完全獨立的運行測試計划,互不干擾。多個線程用於模仿對服務器的並發訪問。

 

3、設置ramp-up period:

ramp-up period用於設置啟動所有線程所需要的時間。

如果選擇了10個線程,並且ramp-up period是100秒,那么JMeter將使用100秒使10個線程啟動並運行。每個線程將在前一個線程啟動后10(100/10)秒后啟動。

當這個值設置的很小、線程數又設置的很大時,在剛開始執行時會對服務器產生很大的負荷。

 

4、設置循環次數:

該項設置線程組在結束前每個線程循環的次數,如果次數設置為1,那么JMeter在停止前只執行測試計划一次。

 

5、Delay Thread creation until needed:

 默認情況下,測試開始的時候,所有線程就被創建完了。如果勾選了此選項,那么線程只會在合適的需要用到的時候創建。

 

6、線程組調度器:

調度器配置可以更靈活的控制線程組執行的時間。

1、持續時間(秒):控制測試執行的持續時間,以秒為單位。

2、啟動延遲(秒):控制測試在多久后啟動執行,以秒為單位。

3、啟動時間:控制測試在某個時間點啟動。但這個配置會被“啟動延遲”配置覆蓋。

4、結束時間:控制測試執行的結束時間。但這個配置會被“持續時間”配置覆蓋。

如果不想立即執行執行,可以通過調度器控制測試執行的開始時間和結束時間。

當測試開始時,如果設置了調度器,JMeter將等待直到到了開始時間。在每個周期結束,JMeter將會檢查是否到達結束時間,如果達到,停止運行;否則測試繼續運行直到達到了重復限制。

 

三、聚合報告數據分析

  • Label -請求對應的name屬性值。
  • Samples - 具有相同標號的樣本數,總的發出請求數。
  • Average - 請求的平均響應時間。
  • Median -50%的樣本都沒有超過這個時間。這個值是指把所有數據按由小到大將其排列,就是排列在第50%的值。
  • 90% Line - 90%的樣本都沒有超過這個時間。這個值是指把所有數據按由小到大將其排列,就是排列在第90%的值。
  • 95% Line - 95%的樣本都沒有超過這個時間。這個值是指把所有數據按由小到大將其排列,就是排列在第95%的值。
  • 99% Line - 99%的樣本都沒有超過這個時間。這個值是指把所有數據按由小到大將其排列,就是排列在第99%的值。
  • Min -最小響應時間。
  • Max -最大響應時間。
  • Error % -本次測試中,有錯誤請求的百分比。
  • Throughput -吞吐量是以每秒/分鍾/小時的請求量來度量的。這里表示每秒完成的請求數。
  • Received KB/sec -收到的千字節每秒的吞吐量測試。
  • Sent KB/sec -發送的千字節每秒的吞吐量測試。

 

 

引用:

https://segmentfault.com/a/1190000017015817


免責聲明!

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



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