【问题标题】:JMeter: Is it possible to run parallel thread groups on various slave nodes using JMeter?JMeter:是否可以使用 JMeter 在各种从节点上运行并行线程组?
【发布时间】:2021-07-11 07:08:42
【问题描述】:

我的测试计划中有 3 个线程组,并且有 3 个从属节点(远程服务器)。我想并行运行所有这些线程组,但每个线程组都在一个特定的从节点上。

+ Test Plan 
   + Thread Group X - (192.169.0.1)
       - HTTP Request Defaults
       - Cookie Manager
       + HTTP Request-1
   + Thread Group Y - (192.169.0.2)
       - HTTP Request Defaults
       - Cookie Manager
       + HTTP Request-2
   + Thread Group Z - (192.169.0.3)
       - HTTP Request Defaults
       - Cookie Manager
       + HTTP Request-3

例子:

Thread Group X192.169.0.1

Thread Group Y192.169.0.2

Thread Group Z192.169.0.3

任何人都知道在 JMeter 上是否可以执行类似的操作?任何建议或想法将不胜感激。

【问题讨论】:

    标签: jmeter performance-testing


    【解决方案1】:

    有 2 个选项,都假设评估 __machineIP() function

    1. 在线程组级别,您可以检查运行 JMeter 的主机并相应地设置线程数或循环数:

      ${__jexl3(if ("${__machineIP()}" == "192.169.0.1") {return 0},)}
      

      如果上面的__jexl3() function 将在192.169.0.1 主机上执行 - 它将返回0 并且 JMeter 会忽略具有 0 个线程或循环的线程组,这样您就可以“禁用”这个或那个线程组

    2. 使用If Controller(例如适用于HTTP请求),类似__jexl3() function在192.168.0.1上触发请求执行

    【讨论】:

      【解决方案2】:

      您可以在 user.properties 文件中为每个线程定义用户计数(线程数)。

      例如,将以下内容添加到药膏192.169.0.2 上的{JMETER_HOME}/bin/user.properties 以运行Thread Group Y

      number.of.threads.threadx=0
      number.of.threads.thready=100
      number.of.threads.threadz=0
      

      {JMETER_HOME}/bin/user.properties 中使用所需的线程数配置其他保存。

      使用函数读取线程数(JMeter 属性)。 将以下内容添加到线程组

      此解决方案将确保仅为所需线程组创建线程

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-18
        • 2017-02-05
        • 2020-09-24
        • 1970-01-01
        • 2015-11-26
        • 2023-01-16
        • 1970-01-01
        • 2016-09-02
        相关资源
        最近更新 更多