我无法将吞吐量增加到我想要的数量

时间:2019-09-14 18:18:18

标签: performance jmeter jmeter-plugins stress-testing throughput

我正在尝试对服务器进行压力测试。 为此,我正在使用Jmeter,这是我的设置:

我用 my Setup

Thread: 1000
schedule for 3 mins

因此,如您所见,我在3分钟内一直使用1000个线程。 但是当我查看吞吐量时,每秒只能得到230左右

results

那么我应该怎么做才能将吞吐量提高到每秒1000000?我认为增加线程意味着增加负载不会增加吞吐量吗?

2 个答案:

答案 0 :(得分:0)

吞吐率衡量在给定时间内可以进行的事务或请求的数量。基本上,它列出了在给定时间段内管理服务的请求数量。吞吐量值取决于许多因素,也许您的测试中的应用程序无法满足预期的负载。 因此,如果有1000个线程,您将无法获得1000个吞吐量。

由您决定您的应用程序可以处理多少吞吐量。为此,也许您需要一边进行不同的优化,例如优化脚本,通过JMeter执行分配负载,增加标准数量等等。

答案 1 :(得分:0)

根据JMeter Glossary

  

吞吐量以请求数/时间单位计算。从第一个样本的开始到最后一个样本的结束计算时间。这应该包括样本之间的任何间隔,因为它应该代表服务器上的负载。

     

公式为:Throughput = (number of requests) / (total time).

吞吐量显式依赖于应用程序响应时间。查看结果,平均响应时间为3.5秒,因此您每秒不会收到超过1000 / 3.5 = 285个请求

从理论上讲,您可以使用Throughput Shaping TimerConcurrency Thread Group的组合,这样,如果当前数量不足以达到/维持所需的吞吐量,JMeter将启动额外的线程,但是会发现错误率8.5%并且应用程序的最大响应时间> 2分钟,我的期望是您将无法获得更多的吞吐量,因为您的应用程序很可能超载并且无法更快地响应。