无法增加jmeter的平均吞吐量

时间:2017-02-28 09:47:45

标签: jmeter

我已将线程数和加速时间设置为1/1,并且我正在从data.csv中重复1000条记录1800秒。 现在给出数字,我已经将CTT,恒定时间吞吐量设置为每分钟2000,我预计平均吞吐量为2000/60 = 33.3 /秒,但是当我将吞吐量增加到4000/60时,我得到18.7 /秒,我仍然得到18或19 /秒。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:2)

我猜你的应用平均响应时间大约是50ms。这意味着单个线程只能执行大约20次点击/秒(每次命中1秒/ 0.05秒= 20次点击/秒)。

你有2个解决方案:

  • 增加线程数以并行化发送的请求,
  • 或者让你的应用响应更快(显然更难)。

在某些时候,当你的应用程序无法处理更多负载时,你会看到命中/秒下降并且平均响应时间增加。

下图显示了一个应用程序示例,它具有最多20个并发线程的稳定响应时间。

Sample graph showing response time and hits

答案 1 :(得分:2)

恒定吞吐量计时器不能强制线程执行得更快,它只能暂停线程限制 JMeter的吞吐量到定义的值。

每个JMeter线程尽可能快地执行采样器,但是下一次迭代将不会启动,直到上一次完成,因此您使用1个线程 - 吞吐量不会高于应用程序响应时间。

另请注意,恒定吞吐量计时器在分钟级别上足够准确,因此如果您的测试时间短于1分钟,您可以宁愿操纵“每分钟请求数”而不是“每秒请求数” - 考虑使用Throughput Shaping Timer

所以我建议将虚拟用户数增加到50.

有关详细信息,请参阅How to use JMeter's Constant Throughput Timer