【发布时间】:2019-03-22 07:33:54
【问题描述】:
我是使用 Jmeter 测试的新手。现在我已经创建了一个测试计划,它创建了 1000 个线程,加速周期为 20 秒,循环为 50。我得到了测试结果。但是您能否帮我设置 RPS,以便我知道我的应用程序每秒可以处理多少个请求?
【问题讨论】:
标签: jmeter load-testing
我是使用 Jmeter 测试的新手。现在我已经创建了一个测试计划,它创建了 1000 个线程,加速周期为 20 秒,循环为 50。我得到了测试结果。但是您能否帮我设置 RPS,以便我知道我的应用程序每秒可以处理多少个请求?
【问题讨论】:
标签: jmeter load-testing
为了确定交付的负载,您可以生成HTML Reporting Dashboard,它提供Hits Per Second 图表(以及更多)
如果您想定义所需的 RPS - 最简单的选择是 Concurrency Thread Group 和 Throughput Shaping Timer 组合。您可以根据每分钟/秒的请求数定义所需的吞吐量,并且假设您通过Feedback Function 连接上述测试元素,如果当前数量不是,JMeter 将能够自动启动额外线程以达到/维持所需的吞吐量足够的。
您可以使用JMeter Plugins Manager 安装这些插件
【讨论】:
您可以通过在测试计划级别使用 Constant Throughput Timer 来实现。
恒定吞吐量计时器允许您维持服务器的吞吐量(请求数/秒)。恒定吞吐量计时器只能暂停 JMeter 线程以减慢它们达到目标吞吐量的速度。此外,它仅在分钟级别上有效,因此您需要正确计算加速期并让您的测试运行足够长的时间。
以下是解决方法:
RPS * 最大响应时间(秒)
Forever
由于恒定吞吐量计时器在分钟级别上工作,要达到X RPS,您必须将“目标吞吐量”值配置为X*60/min 和“计算吞吐量基于”值为“所有活动线程”。
例如,如果您需要 100 RPS,则“目标吞吐量”值应为 6000/min in Constant Throughput Timer。
【讨论】: