咱們在進行階梯式壓力測試的時候,聚合報告生成的結果是一個彙總數據。並不會階梯式的統計壓測性能數據。這樣咱們就不能去對比不一樣階梯壓力下的性能數據變化趨勢。java
假設如今一共會加載100個線程,我指望聚合報告中分別展現1-20,20-40,40-60,60-80的四個階段的線程併發性能數據,而不是一共整體的統計數據。apache
jmeter自己不具有這樣的工具,須要經過自定義代碼去實現。併發
測試計劃》添加》Threads》jp@gc - Stepping Thread Group (deprecated)工具
共5個階梯,每次加載20個,最終但願加載100個線程性能
代碼實現了實時獲取活動的線程總數,根據活動線程總數賦值給變量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變量。中間也能夠添加一些監聽器spa