JMeter-在每次迭代中触发不同的请求

标签 jmeter load-testing

我目前正在使用JMeter模拟每40秒触发5个用户的请求。我创建了100个不同的请求,但是每40秒之后,每个用户都会触发所有100个请求。我想要这样一种方式:每40秒之后,每个用户仅触发1个请求,并且该请求必须与先前的请求不同。我想知道要使用哪种 Controller (或其他任何方式)来实现此方案。

谢谢

最佳答案

尝试使用Random Controller

实现方案的最简单方法:

线程组
线程数= 5
循环计数= N
。 。 。
随机 Controller
HTTP请求001
HTTP请求002
HTTP请求003
。 。 。
。 。 。
HTTP请求100
测试 Action
目标=当前线程
Action =暂停
持续时间= 40000
。 。 。

这将迭代5个线程N次。
随机 Controller 将从“请求池”中随机获取HTTP请求的每个步骤-所有采样器作为子代添加到随机 Controller 中。
测试操作将使线程暂停40秒。

更新:
以上方案的工作图解:

线程组
线程数= 5
加速周期= 0
循环计数= 10

恒定计时器
线程延迟(以毫秒为单位)= 40000

您可以从此处下载描述方案的工作示例:rc-plan.jmx
这是您想要的方式(至少对我来说是Jmeter 2.5.1):在每个步骤(这里-10个循环)中,它从请求池中随机选择一个请求(例如-10个请求)给每个用户(这里-5个用户) ),并将每个线程暂停40秒(固定计时器)。

您也可以查看此邮件存档:Is their a way to randomize URL selection?
here似乎描述了与您类似的情况。

...根据官方文档,“多个 Controller 之间的交互会产生复杂的行为。对于随机 Controller ,尤其如此。”

关于JMeter-在每次迭代中触发不同的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335649/

相关文章:

Jmeter - 非 HTTP 响应消息 : handshake alert: unrecognized_name

json - 使用 Jmeter 通过 post 请求上传/发送文件时出现问题

amazon-ec2 - 使用 jmeter 在 aws 上进行分布式负载测试

node.js - 如何使用 headless 浏览器有效地对 Web 应用程序进行负载测试?

python - 蝗虫 : How to make locust run for a specific amount of time

java - 如何将jmeter属性路径指向maven下载的jmeter jar路径?

java - 纯粹用 Java 为 Java Sampler 创建新的 JMeter 测试

jmeter - 在 JMeter 中的帖子后提取出现在 URL 中的值

ajax - 通过 JMeter 进行 AJAX 调用的性能测试

JMeter插件——什么是 "jpgc - Standard Set"插件