Jmeter的吞吐量计算
附加的是我的测试中的
Summary Report
。Jmeter的吞吐量计算
请帮我理解JMeter计算的吞吐量值如何: 例如第一行53.1/min
的吞吐量,这个数字是如何由JMeter用哪个公式计算的。
此外,想知道后续测试中的吞吐量值如何分为分钟或秒。例如,第二行的吞吐量为1.6/sec
,那么JMeter如何根据时间单位计算此吞吐量值?
在网上尝试了很多网站,并得到了一个普遍的答复,即吞吐量是在测试期间发送到服务器的每单位时间(秒,分钟,小时)的请求数。但是这并不适用于我在图表中看到的结果,而是直接解释它的方式。
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
公式'1/average'适用于一个线程。如何改变几个线程? – olyv
@olyv平均值不是每个线程,而是所有线程。所以一个或多个线程,公式是相同的 –
请参阅附件的总结报告的细节。 –