如何在分布式 Jmeter 设置中的特定从属节点上执行特定的线程池/采样器

如何在分布式 Jmeter 设置中的特定从属节点上执行特定的线程池/采样器

我们正在使用带有分布式节点(一个主节点和 4 个客户端)的 Jmeter。目前我们使用的是 Jmeter 版本 5.4,我认为没有很好的方法将测试计划的特定部分分发到特定的从属节点,我的意思是假设有 4 个线程池执行一些不同的任务,我想将每个线程池分发到每个从属节点(即每个节点上执行一个线程池任务)。这是否可以使用最新的 Jmeter 版本实现,如果您可以分享您的专家意见,那么这将对我们的用例非常有帮助。我没有找到具体的答案,但其中一个 blazemeter 博客显示可以使用 IF 控制器来实现https://www.blazemeter.com/blog/how-to-perform-distributed-testing-in-jmeter

答案1

所有 JMeter 从属服务器都执行相同的 .jmx 测试计划,如果您想要分发某些采样器在某些从属服务器上运行:

  1. 把它们放在如果控制器

  2. 使用__machineName()或者__machineIP()作为 If 控制器的条件:

    ${__jexl3("${__machineName()}"=="hostname of your slave 1",)}
    

    在此处输入图片描述

相关内容