Jmeter - 如何获取 SLA 指标
Jmeter - how to get SLA metric
是否存在任何方法可以根据 UI 计算 jmeter 中 SLA 下的请求数?例如,响应时间 < 400 毫秒的请求数?
最简单的解决方案是使用 Simple Data Writer 将标签、运行时间和/或延迟保存到 CSV 文件,这将生成如下所示的原始输出:
elapsed,label
423,sampler1
452,sampler2
958,sampler1
152,sampler1
从这里您可以将它带到任何其他工具(awk、Excel 等)来过滤您想要的结果。
另一种选择是使用 BeanShell Listener 即时生成此类报告。像这样:
long responseTime = sampleResult.getEndTime() - sampleResult.getStartTime();
if(responseTime < 400) {
FileOutputStream f = new FileOutputStream("myreport.csv", true);
PrintStream p = new PrintStream(f);
this.interpreter.setOut(p);
print(sampleResult.getSampleLabel() + "," + responseTime);
f.close();
}
但是,如果您计划 运行 对许多(超过 200-300 个)用户和许多 "fit" 过滤器的操作进行压力测试,则此方法的性能可能不够。
前段时间我遇到了类似的问题,写了一个小工具-见https://github.com/sgoeschl/jmeter-sla-report
JMeter 提供 OOTB 一个 Web 报告,该报告使用 APDEX、百分位数等标准指标提供有关负载测试的大量信息...
看到这个:
如果您仍想这样做,请执行以下操作:
添加作为您请求的子项添加 Duration Assertion:
它下面的所有响应都将被标记为失败。
在报告中,您将看到满足此 SLA 标准的成功请求数。
是否存在任何方法可以根据 UI 计算 jmeter 中 SLA 下的请求数?例如,响应时间 < 400 毫秒的请求数?
最简单的解决方案是使用 Simple Data Writer 将标签、运行时间和/或延迟保存到 CSV 文件,这将生成如下所示的原始输出:
elapsed,label 423,sampler1 452,sampler2 958,sampler1 152,sampler1
从这里您可以将它带到任何其他工具(awk、Excel 等)来过滤您想要的结果。
另一种选择是使用 BeanShell Listener 即时生成此类报告。像这样:
long responseTime = sampleResult.getEndTime() - sampleResult.getStartTime(); if(responseTime < 400) { FileOutputStream f = new FileOutputStream("myreport.csv", true); PrintStream p = new PrintStream(f); this.interpreter.setOut(p); print(sampleResult.getSampleLabel() + "," + responseTime); f.close(); }
但是,如果您计划 运行 对许多(超过 200-300 个)用户和许多 "fit" 过滤器的操作进行压力测试,则此方法的性能可能不够。
前段时间我遇到了类似的问题,写了一个小工具-见https://github.com/sgoeschl/jmeter-sla-report
JMeter 提供 OOTB 一个 Web 报告,该报告使用 APDEX、百分位数等标准指标提供有关负载测试的大量信息...
看到这个:
如果您仍想这样做,请执行以下操作:
添加作为您请求的子项添加 Duration Assertion:
它下面的所有响应都将被标记为失败。 在报告中,您将看到满足此 SLA 标准的成功请求数。