首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Jmeter中运行具有负载分布的依赖采样器

如何在Jmeter中运行具有负载分布的依赖采样器
EN

Stack Overflow用户
提问于 2020-11-09 18:39:29
回答 1查看 17关注 0票数 0

我希望运行3个不同负载顺序API的服务组合。Q1 - 20%,Q2 -10%,Q3 - 70%然而,Q1独立,Q2依赖于Q3中生成的变量。

我有以下设置。我不能有多个线程组,并且需要事务控制器,因为我需要将其上传到Storm Runner。

代码语言:javascript
复制
ThreadGroup - Threads 10,  Loop 1
 --- Q1ThroughPutController -20%
    ---Q1TransactionController
 --- Q2ThroughPutController - 10%
    ---Q2TransactionController 
 --- Q3ThroughPutController - 70%
    ---Q3TransactionController

当前运行如下所示:

Q3 -失败

Q3 -失败

Q3 -失败

Q3 -失败

Q1 -失败

Q3 -失败

Q1通行证

Q3通行证

Q2通行证

Q3通行证

EN

回答 1

Stack Overflow用户

发布于 2020-11-09 18:56:56

根据JMeter Documentation的说法

属性与变量不同。变量是线程的局部变量;属性是所有线程的公共属性,需要使用__P或__property函数进行引用。

您的设置假定:

  • 20%的用户正在执行Q1
  • 10%的用户正在执行Q2
  • 70%的用户正在执行Q3

因此,运行Q3用户无法切换到Q1

您需要修改您的关联逻辑以使用属性而不是变量,属性是全局的,这样所有线程都可以访问它们,您将必须使用合适的JSR223 Test Elements执行一些自定义的Groovy脚本

另一种解决方案是使用Inter-Thread Communication Plugin在不同的线程之间传递变量,并实现一些阻塞逻辑,这样虚拟用户在继续操作之前将“等待”变量值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64750024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档