jmeter 执行时的用户分布

jmeter User distribution while execution

我是Jmeter的新手,编写了用户登录的场景脚本,进行了购物和注销的旅程。

场景:虽然 运行 脚本想要 100 个用户登录,但只有 50 个用户应该购物。

请告知如何继续..

方法一:使用 If 控制器

${__threadNum} 会给出当前的线程号。因此,使用 If Controller 中的函数我们可以执行特定的操作。

您的测试计划如下。

Thread Group
     Login
     If Controller  (${__threadNum} < 51)
          Shopping
     If Controller  (${__threadNum} > 50)
          Do something
     Logout

方法 2:使用多个线程组

我会尝试使用多个线程组,因为与 If Controller 方法相比,它似乎更容易维护。

Thread Group 1  [50 users]

     Login
     Shopping
     Logout

Thread Group 2  [50 users]

     Login
     Some other action
     Logout

您可以使用 ThroughputController:

作为购物部分的容器,百分比设置为50%

另一种选择是使用 2 个线程组:

  • 一个购物设置为 50 个线程

  • 另一个用于导航的设置为 50 个线程

要重用通用代码,请使用:

  • 测试片段

  • 模块控制器

根据您的测试场景,选项位于:

  1. 几个Thread Groups喜欢:

    • 未认证用户的线程组
    • 认证用户的另一个线程组
    • 购物用户的另一个线程组
  2. Throughput Controller 设置每个采样器的执行百分比

  3. Switch Controller - 基本上是一样的,但你的幻想有发烧限制。

有关上述每种方法的详细说明,请参阅 Running JMeter Samplers with Defined Percentage Probability 指南。