JSR223定时器用于jmeter

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSR223定时器用于jmeter相关的知识,希望对你有一定的参考价值。

如何使用JSR223 Timer基于计算(持续时间/吞吐量)以秒为单位创建线程延迟。我应该在脚本部分内写什么?我们在测试计划中将持续时间和吞吐量作为Jmeter参数

答案

最简单的方法是使用Precise Throughput TimerThroughput Shaping Timer - 两者都可以配置所需的吞吐量和测试持续时间。定时器足够智能,可以暂停JMeter线程以达到所需的吞吐量。


如果由于某种原因上述定时器不合适,您可以考虑实现所谓的Pacing - 线程组迭代之间的动态延迟。

示例代码如下:

//Sets the pacing length based on the last requests response time. 4500 is the time in ms
Long pacing = 4500 - prev.getTime();

//If the response time is less than 4500 ms, set the delay value to myDelay
if ( pacing > 0 )
{
    //iPacing is equal to the int value of pacing if pacing is not equal to null, otherwise iPacing is null
    Integer iPacing = pacing != null ? pacing.intValue() : null;
    log.info(String.valueOf(iPacing));
    vars.put("myDelay", String.valueOf(iPacing));
    return iPacing;
}
//The response time is greater than or equal to 4500 ms, set myDelay to 0
else
{
    vars.put("myDelay", "0");
    return 0;
}

以上是关于JSR223定时器用于jmeter的主要内容,如果未能解决你的问题,请参考以下文章

Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!

Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!

Jmeter(二十)Beanshell or JSR223

JSR-233 定时器奇怪(?)行为

Jmeter定时器

jmeter(二十六)前置处理器-JSR223 PostProcessor(随机生成手机号)