Jmeter-如何在jmeter中将一个Thread的用户共享给不同的Threads

时间:2017-05-10 06:55:57

标签: jmeter

                               Login Thread (users 15)
                                       |
               ----------------------------------------------------
               |                       |                          |
           Order Thread           Search Thread            Logout Thread
          5 user out of 15      5 user out of 15         5 user out of 15 

  I want to bypass login users of my very first thread to different thread. 

我如何实现这一点帮助。 image

2 个答案:

答案 0 :(得分:0)

您可以在登录请求后添加Interleave Controller作为所有其他请求的父级,因此结构将如下所示:

                       Login Thread (users 15)
                                      |
           ----------------------------------------------------
                                      |                         
                             interleave controller
           ----------------------------------------------------
           |                          |                       |
       Order Thread           Search Thread            Logout Thread
      5 user out of 15      5 user out of 15         5 user out of 15

确保选项跨线程交错。现在每个线程只执行三个请求中的一个,然后离开,所以场景将是这样的:

  • 第一个线程将登录然后订购。
  • 第二个帖子将登录并搜索。
  • 第三个帖子将登录并注销。
  • 第四个帖子将登录并订购。

依此类推,所以最后5个用户只会订购,其他5个会搜索,最后5个会注销。

答案 1 :(得分:0)

我相信你正在寻找Throughput Controller,在这种情况下你可以使用相同的Thread Group(可以在不同的线程组之间传递用户会话但不推荐,因为它违反了JMeter设计和最好的实践)

示例Test Plan将类似于:

  • 线程组(主题:15)
    • 登录采样器
    • 搜索吞吐量控制器(执行百分比,33.3)
      • 搜索采样器
    • 订购吞吐量控制器(执行百分比,33.3)
      • 订购采样器
    • 注销吞吐量控制器(执行百分比,33.3)
      • 退出采样器

JMeter Throughput Controller

这种方式Login Sampler将被执行15次,其他的将被执行5次。如果增加线程数,则分布将保留。

JMeter Throughput Controller effect

有关吞吐量控制器的更多信息以及JMeter测试中负载分配的其他方式,请参阅Running JMeter Samplers with Defined Percentage Probability文章。