概述
我们在进行阶梯式压力测试的时候,聚合报告生成的结果是一个汇总数据。并不会阶梯式的统计压测性能数据。这样我们就不能去对比不同阶梯压力下的性能数据变化趋势
期望
jmeter本身不具备这样的工具,需要通过自定义代码去实现
实现
添加阶梯加压线程组
jmeter本身不具备这样的工具,需要通过自定义代码去实现
添加阶梯加压线程组
下图表示每隔5s启动20个线程,一共启动100个。

添加beanshell脚本
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");
}

添加事物控制器
把login请求放到事物控制器下面。事物控制器的名称是获取的Thread变量。中间也可以添加一些监听器

执行压测脚本,观察聚合报告

本文介绍如何在JMeter中实现阶梯式压力测试,通过自定义Beanshell脚本记录不同阶段的线程数,以便更好地分析性能数据变化趋势。文章详细展示了如何设置阶梯加压线程组,并使用Beanshell脚本区分不同线程区间,最后通过事务控制器收集各阶段的性能数据。

1万+

被折叠的 条评论
为什么被折叠?



