Jmeter中的吞吐量计算

时间:2016-09-16 09:46:51

标签: jmeter

enter image description here我的测试附加Summary Report

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

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

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

2 个答案:

答案 0 :(得分:12)

Documentation将吞吐量定义为

  

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

所以在你的情况下,你有1个请求,需要1129毫秒,所以

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

就单位(秒/分钟/小时)而言,摘要报告执行此操作:

  • 默认情况下,它以秒为单位显示吞吐量
  • 但是如果吞吐量以秒为单位< 1.0,它会将其转换为分钟
  • 如果它仍然是&lt; 1.0,它会将其转换为小时
  • 之后将值舍入为1位小数。

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

答案 1 :(得分:-1)

吞吐量 = NumOfRequests / ((endTime - startTime)*conversion)

endTime = lastSampleStartTime + lastSampleLoadTime

startTime = firstSampleStartTime

转化=单位时间转化价值