当前位置: 首页 > 知识库问答 >
问题:

完成并从其他线程组开始

毕黎昕
2023-03-14

我正在使用Jmeter测试多个微服务。基本思想是在微服务环境中测试断路器。现在,我使用两个线程组,一个主从远程概念。一个线程组创建使用100次迭代和1000个线程,并对前端服务创建负载,前端服务向后端服务发送请求。另一组用100次迭代但只有一个线程探测后端服务。如果我没有错,第二个线程组比第一个线程组完成得更早。有可能同步这两个吗?

也许还有另一个问题。当我用遥控器缩放线程时,第二个线程组也会缩放,是否可以强制第二个线程组只使用一个从线程?

共有1个答案

濮阳钟展
2023-03-14

为了执行“探测”线程组,直到“主”线程组正在执行,将“探测”请求放在“同时控制器”下,并使用以下__groovy()函数作为条件:

${__groovy(org.apache.jmeter.threads.JMeterContextService.getThreadCounts().activeThreads > 1,)}

如果只想在JMeter集群的一台机器上执行“probe”线程组,请将整个构造置于If控制器下,并使用以下jexl3()函数作为条件:

${__jexl3("${__machineIP()}" == "IP address of the slave",)}

整个线程组应该如下所示:

 类似资料:
  • 我有3个活动A、B和C。A导致B,B导致C。我希望能够在A和B之间来回移动,但我希望在C开始后完成A和B。我知道如何在通过意图启动C时关闭B,但在启动C时如何关闭A?

  • 问题内容: 我有一个应用程序,在某些情况下需要计算某些次数。此计算功能具有@Async注释(来自Spring Framework),可以在4个线程上运行这些计算。问题是我需要大约40000个这些计算,并且我想知道所有计算的开始和结束之间的时间,因此我看到在调用计算函数的for循环之前和之后的时间是什么。但是现在所有计算都放入队列中,因此for循环立即完成,时间大约为1秒,而计算要花几个小时才能完成

  • 问题内容: 我有一个名为的方法的对象,该方法启动三个线程。 每个线程执行完毕后,如何获得通知? 有没有办法知道一个(或全部)线程是否已完成或仍在执行? 问题答案: 你可以通过多种方式执行此操作: 在主线程中使用以阻塞方式等待每个线程完成,或者 以轮询方式(通常不鼓励使用)检查,等待每个线程完成,或者 非常规的,对于每个有问题的线程,调用来调用对象中的方法,并对每个线程进行编程以在完成时抛出未捕获的

  • 问题内容: 我正在用Go编写执行大量并行计算的软件。我想从工作线程中收集数据,但我不太确定如何以安全的方式进行数据收集。我知道我可以使用通道,但是在我的场景中,它们使它变得更加复杂,因为我必须以某种方式同步主线程中的消息(等到每个线程发送了一些东西)。 情境 主线程创建 n个 实例,并在goroutine中启动其方法,以便每个工作线程都在各自的线程中运行。主线程每10秒应从工作线程中收集一些简单值

  • 我正在编写一个Android应用程序,它连接到蓝牙设备,读取设备发送的数据,将其添加到AChartEngine图形中,并在文本视图中显示数据。 我的Bluetooth代码与BluetoothChat示例代码中的线程实现非常相似(它与SDK一起提供)。我可以在LogCat中看到< code>ConnectedThread循环正在执行并因此获得新数据,但我的TextView在7行之后停止更新,图形间歇

  • 问题内容: 我正在开发一个android应用程序,并且有一个按钮可以启动/暂停某些模拟过程。在此过程运行时,我需要实时输出一些数据。但是,当我为仿真创建新线程时,无法从该线程访问视图(将其命名为TextView),因为只能从创建它们的线程访问它们。另一方面,新线程是必需的,因为否则在仿真运行时,用户将无法执行任何操作(例如,按下其他一些按钮)。在这种情况下,创建新服务还需要创建一个新线程。我应该如