如何使jmeter线程组休眠,直到其他线程组中的所有线程都处于活动状态

时间:2015-08-05 18:21:37

标签: jmeter

我在jmeter项目中有2个线程组,当我运行它时,线程group2与threadgroup1一起开始并行。有没有办法让threadgroup2等到tg1中的所有线程都变为活动/运行状态?

基本上在threadgroup1中我引起了负载,在threadgroup2中,我有一个与selenium集成的线程,用于捕获加载时的实际响应时间。目前,在tg1中的所有线程都被触发之前tg2开始。

1 个答案:

答案 0 :(得分:0)

我认为最简单的选择是使用线程组2中的Startup delay。延迟时间段是线程组1的上升时间段(+几秒)。此时,JMeter将启动所有线程组1中的线程。

另一种方法是使用Thread Group 2中的beanshell来计算线程组1的总活动线程数。(假设你只有2个线程组)

org.apache.jmeter.threads.JMeterContextService.getNumberOfThreads()给出了Jmeter测试的总活动线程。

ctx.getThreadGroup().numberOfActiveThreads() - 给出当前线程组中的活动线程。

所以,

int grp1_thread_count = org.apache.jmeter.threads.JMeterContextService.getNumberOfThreads() - ctx.getThreadGroup().numberOfActiveThreads();

在线程组2中,使用If controller通过使用grp1_thread_count的值发送请求来检查线程组1的活动线程数。

相关问题