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

 

概述

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

期望

假設現在一共會加載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變量。中間也可以添加一些監聽器

 

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章