Jmeter的吞吐量计算

问题描述:

enter image description here附加的是我的测试中的Summary ReportJmeter的吞吐量计算

请帮我理解JMeter计算的吞吐量值如何: 例如第一行53.1/min的吞吐量,这个数字是如何由JMeter用哪个公式计算的。

此外,想知道后续测试中的吞吐量值如何分为分钟或秒。例如,第二行的吞吐量为1.6/sec,那么JMeter如何根据时间单位计算此吞吐量值?

在网上尝试了很多网站,并得到了一个普遍的答复,即吞吐量是在测试期间发送到服务器的每单位时间(秒,分钟,小时)的请求数。但是这并不适用于我在图表中看到的结果,而是直接解释它的方式。

+0

请参阅附件的总结报告的细节。 –

Documentation吞吐量定义为

请求/单位时间。时间从第一个样本的开始到最后一个样本的末尾计算。这包括样本之间的任何间隔,因为它应该表示服务器上的负载。 公式如下:吞吐量=(请求数)/(总时间)。所以你的情况

你有1个请求,历时1129ms,所以

Throughput = 1/1129ms = 0.00088573959/ms 
      = 0.00088573959 * 1000/sec = 0.88573959/sec 
      = 0.88573959 * 60/min = 53.1443754/min, rounded to 53.1/min 

对于1个请求总时间(或经过的时间)是一样的,因为这一次操作的时间。对于要求多次执行,这将是等于

Throughput = (number of requests)/(average * number of requests) = 1/average 

例如,如果你把最后一行在你的屏幕截图(21个请求),它具有695的平均值,因此吞吐量是:

Throughput = 1/695ms = 0.0014388489/ms = 1.4388489/sec, rounded to 1.4/sec 

在单位(秒/分/小时)计算,总结报告执行此:

  • 缺省情况下它显示吞吐量秒
  • 但是,如果可以通过我n秒< 1.0,将它如果它仍然< 1.0转变为分钟
  • ,将其转换为小时
  • 它之后的舍入值设置为1个十进制数字。

这就是为什么一些值以秒为单位显示,一些以分钟显示,另一些可能以小时显示。有些甚至可能有0.0的价值,这基本上意味着吞吐量为< 0.04

+0

公式'1/average'适用于一个线程。如何改变几个线程? – olyv

+0

@olyv平均值不是每个线程,而是所有线程。所以一个或多个线程,公式是相同的 –