必須掌握的階梯式性能指標監聽!

  • 2019 年 10 月 9 日
  • 筆記

 

概述

我們在進行階梯式壓力測試的時候,聚合報告生成的結果是一個匯總數據。並不會階梯式的統計壓測性能數據。這樣我們就不能去對比不同階梯壓力下的性能數據變化趨勢。

期望

假設現在一共會加載100個線程,我期望聚合報告中分別展示1-20,20-40,40-60,60-80的四個階段的線程並發性能數據,而不是一共總體的統計數據。

 

實現

jmeter本身不具備這樣的工具,需要通過自定義代碼去實現

 

1:添加階梯線程組

測試計劃》添加》Threads》jp@gc – Stepping Thread Group (deprecated)

共5個階梯,每次加載20個,最終希望加載100個線程

 

添加BeahShell腳本

代碼實現了實時獲取活動的線程總數,根據活動線程總數賦值給變量Thread供後續事務調用

import org.apache.jmeter.threads.JMeterContextService;  int num = JMeterContextService.getNumberOfThreads();  System.out.println("當前活動線程數=" +num);  if(num<=20){    System.out.println("線程區間1-20");    vars.put("Thread","線程數1-20");    }  ​    else if (num>20&&num<=40){    System.out.println("線程區間20-40");    vars.put("Thread","線程數20-40");    }    else if(num>40&&num<=60){    System.out.println("線程區間40-60");    vars.put("Thread","線程數40-60");    }    else {    System.out.println("線程區間60-100");    vars.put("Thread","線程數60-100");    }  

  

添加事物控制器和請求

把opms的login請求放到事物控制器下面。事物控制器的名稱是獲取的Thread變量。中間也可以添加一些監聽器

 

執行壓測腳本,觀察聚合報告