如何控制号Jmeter 中每个用户的请求数
How to control no. of requests per user in Jmeter
我正在为一个电子商务网站做负载测试。我正在使用 Ultimate thread group
.
现在我只想向每个用户发送 1 个请求。例如:如果有 500 个用户,则只应发送 500 个请求。如何使用 Ultimate thread group
?
实现它
为什么我想要上面的内容,因为我正在执行整个过程,例如登录、select 产品、添加到购物车和结帐。所以它应该只为每个用户做一次。
假设测试持续时间为 1 小时。第一个用户在前 10 分钟内完成您提到的工作流程。用户的工作流程之后应该发生什么?线程是否应该在剩余的 50 分钟内空闲?
我认为您应该使用常规 Thread Group
和 500 个线程,循环计数为 1。Ultimate Thread Group
用于基于持续时间的测试。您可以在内部使用 Once Only Controller
作为解决方法,只为用户执行一次操作。但这是一种丑陋的做法。
您可以使用 Throughput Controller。
The Throughput Controller allows the user to control how often it is executed. There are two modes:
- 执行百分比
- 总处决
执行百分比
导致控制器通过测试计划执行一定百分比的迭代。
执行总次数
导致控制器在执行一定次数后停止执行。
与 Once Only Controller 一样,此设置会在父循环控制器重新启动时重置。
您的测试设计有点不稳定,因为每个用户都会登录、select 产品、添加到购物车和结帐,每个用户至少有 4 个请求,总共有 2000 个请求(不' t 包括嵌入式资源调用)。您可以使用 Transaction Controller 将这些请求分组为一个 "workflow" 但是它不会限制实际的请求数量。
- 如果您只需要每个用户 运行 您的工作流程一次,您可能 运行 遇到负载将少于 500 个并发用户或测试持续时间将少于 30/ 60 分钟,参见 JMeter Test Results: Why the Actual Users Number is Lower than Expected
- 如果您添加更多迭代,每个用户将多次执行您的工作流程
通常 web 测试计划应该如下所示:
- 给定每个用户执行测试场景步骤并像真实用户一样行事
- 逐渐增加用户数量,除非应用程序响应时间变得太长或开始出现错误,无论哪个先发生
- 分析结果,确定瓶颈,报告您的发现
我正在为一个电子商务网站做负载测试。我正在使用 Ultimate thread group
.
现在我只想向每个用户发送 1 个请求。例如:如果有 500 个用户,则只应发送 500 个请求。如何使用 Ultimate thread group
?
为什么我想要上面的内容,因为我正在执行整个过程,例如登录、select 产品、添加到购物车和结帐。所以它应该只为每个用户做一次。
假设测试持续时间为 1 小时。第一个用户在前 10 分钟内完成您提到的工作流程。用户的工作流程之后应该发生什么?线程是否应该在剩余的 50 分钟内空闲?
我认为您应该使用常规 Thread Group
和 500 个线程,循环计数为 1。Ultimate Thread Group
用于基于持续时间的测试。您可以在内部使用 Once Only Controller
作为解决方法,只为用户执行一次操作。但这是一种丑陋的做法。
您可以使用 Throughput Controller。
The Throughput Controller allows the user to control how often it is executed. There are two modes:
- 执行百分比
- 总处决
执行百分比 导致控制器通过测试计划执行一定百分比的迭代。
执行总次数 导致控制器在执行一定次数后停止执行。 与 Once Only Controller 一样,此设置会在父循环控制器重新启动时重置。
您的测试设计有点不稳定,因为每个用户都会登录、select 产品、添加到购物车和结帐,每个用户至少有 4 个请求,总共有 2000 个请求(不' t 包括嵌入式资源调用)。您可以使用 Transaction Controller 将这些请求分组为一个 "workflow" 但是它不会限制实际的请求数量。
- 如果您只需要每个用户 运行 您的工作流程一次,您可能 运行 遇到负载将少于 500 个并发用户或测试持续时间将少于 30/ 60 分钟,参见 JMeter Test Results: Why the Actual Users Number is Lower than Expected
- 如果您添加更多迭代,每个用户将多次执行您的工作流程
通常 web 测试计划应该如下所示:
- 给定每个用户执行测试场景步骤并像真实用户一样行事
- 逐渐增加用户数量,除非应用程序响应时间变得太长或开始出现错误,无论哪个先发生
- 分析结果,确定瓶颈,报告您的发现