如何在Jmeter测试中提供RPS?

时间:2019-03-22 07:33:55

标签: jmeter load-testing

我是刚开始使用Jmeter进行测试。现在,我已经创建了一个测试计划,该计划可以创建1000个线程,加速周期为20秒,循环为50。我正在获取测试结果。但是请您帮我设置RPS,以便知道我的应用程序每秒可以处理多少个请求?

2 个答案:

答案 0 :(得分:1)

您可以通过在测试计划级别使用Constant Throughput Timer来实现。

恒定吞吐量计时器使您可以维持服务器的吞吐量(请求/秒)。恒定吞吐量计时器只能暂停JMeter线程,以减慢它们的速度以达到目标吞吐量。另外,它仅在分钟级别上起作用,因此您需要正确地计算加速时间,并让测试运行足够长的时间。

以下是解决方法:

  1. 计算实现目标吞吐量所需的线程数。公式为:
      

    RPS *最大响应时间(秒)

  2. 使用加速期使线程相应地活动。
  3. 将循环计数值设为Forever
  4. 相应地设置测试持续时间。

由于恒定吞吐量计时器在分钟级别上工作,要达到X RPS,您必须将“ 目标吞吐量”值配置为X*60/min,然后将“ 计算”基于”值的吞吐量为“ 所有活动线程”。

例如,如果您需要100 RPS,则“ 目标吞吐量”值应为Constant Throughput Timer中的6000/min

答案 1 :(得分:0)

为了确定交付的负载,您可以生成HTML Reporting Dashboard,该图提供Hits Per Second图表(以及更多图表)

enter image description here

如果要定义所需的RPS,最简单的选择是将Concurrency Thread GroupThroughput Shaping Timer组合使用。您可以根据每分钟/秒的请求定义所需的吞吐量,并通过Feedback Function连接上述测试元素,如果当前数量达到一定数量,JMeter将能够自动启动额外的线程以达到/保持所需的吞吐量是不足够的。

您可以使用JMeter Plugins Manager

安装这些插件

enter image description here