JMeter ramp up 1 user every seconds ramp up 1 user every seconds无法正常工作

h4cxqtbf  于 2023-03-23  发布在  其他
关注(0)|答案(1)|浏览(127)

我正在尝试使用JMeter对我的应用程序进行负载测试,该测试包括测试一个遵循openid流程的登录,总共有5个rest调用,如下所示:

为了进行测试,我使用了事务控制器和经典的rest调用,问题是我无法达到我的目标,即同时从1到N逐渐增加登录;让我更好地解释,我想登录发生在第1秒,2同时登录在第2秒,等多达N同时登录.我试图使用并发线程组如图所示,但登录号总是错误的,在这个意义上,我期望在5秒的测试中最多有5个并发用户,我应该有1+2+3+4+5 = 15次登录,相反,我总是有一个高得多的数字。我做错了什么?使用并发线程组可以吗?

更新

我遵循了@Dmitri T的建议,并添加了吞吐量整形计时器,其中包含以下设置:

还有这些:

问题是在每次测试结束时,响应值变得非常高,我记录了许多套接字连接错误。我做错了什么?

jogvjijk

jogvjijk1#

登录号没有错,你不懂the relationship between users and hits per second
让我们稍微简化一下,假设您只有一个Sampler,它在Thread Group下执行登录。
您的期望是:
1.测试的第一秒:1个用户,1个请求,共1个请求
1.测试第二秒:2个用户,2个请求,共3个请求
1.测试第3秒:3个用户,3个请求,共6个请求
1.测试第4秒:4个用户,4个请求,共10个请求
1.第五秒测试:5个用户,5个请求,共15个请求
这可能是真的,但只有满足一个重要条件:登录请求的响应时间为1秒整

  • 如果你的响应时间是500 ms-你将得到30个请求。
  • 如果你有2秒的响应时间-你会得到7个请求。
  • 等等。

如果希望JMeter每秒执行X个请求,可以使用Concurrency Thread Group,但我建议添加Throughput Shaping Timer,这样会将JMeter的吞吐量降低到所需的值。

相关问题