如何使用 Jmeter 测试工具获取请求的平均响应时间
Posted
技术标签:
【中文标题】如何使用 Jmeter 测试工具获取请求的平均响应时间【英文标题】:how to get the average response time for a request using Jmeter testing tool 【发布时间】:2021-08-17 08:00:05 【问题描述】:我正在尝试使用 Jmeter 进行负载和性能测试,所以我创建了线程组,下面是汇总报告的输出。
第一列Avg request t/s
,我用公式计算出来的
((Average/Total Requests)/1000)
但这似乎不太好,因为我在我的代码中登录请求时间,几乎每个请求都需要至少 2-4 秒。
我尝试使用MEdian/1000
,但我再次怀疑。
获取请求平均时间的正确方法是什么?
Avg request t/s | Total Requests | Average | MEdian | Min | Max | Error % | ThroughPut request per time unit | Recieved KB | Sent KB |
---|---|---|---|---|---|---|---|---|---|
0.07454 | 100 | 7454 | 6663 | 2464 | 19313 | 0 | 3/sec | 2.062251152 | 1.074506499 |
1.11322 | 100 | 111322 | 107240 | 4400 | 222042 | 0 | 26.3/min | 0.1408915377 | 0.1271878015 |
1.19035 | 100 | 119035 | 117718 | 0.03 | 26.3/min | 0.1309013211 | 0.1279624502 | ||
1.21287 | 100 | 121287 | 119198 | 0 | 0.4136384882 | 0.135725129 | 0.1211831508 | ||
1.11943 | 100 | 111943 | 111582 | 5257 | 220004 | 0 | 0.4359482965 | 0.1507086884 | 0.1264420352 |
1.14289 | 100 | 114289 | 114215 | 4543 | 223947 | 0 | 0.4369846313 | 0.1497867242 | 0.1288763268 |
0.23614 | 150 | 35421 | 26731 | 4759 | 114162 | 0 | 0.9494271789 | 0.3600282257 | 0.1842358496 |
【问题讨论】:
【参考方案1】:您还没有ThroughPut request per time unit
列吗?你还需要“计算”什么?
根据Aggregate Report documentation
吞吐量 - Throughput 以每秒/分钟/小时的请求数衡量。选择时间单位以使显示的速率至少为 1.0。将吞吐量保存为 CSV 文件时,以请求/秒表示,即 30.0 请求/分钟保存为 0.5。
所以如果你点击Save Table Data
按钮:
您将在 CSV 文件中获得每秒平均事务数
还可以使用JMeter Plugins Command Line Tool as 生成包含计算出的聚合值的 CSV 文件
JMeterPluginsCMD.bat --generate-csv aggregate-report.csv --input-jtl /path/to/your/results.jtl --plugin-type AggregateReport
【讨论】:
如果您在谈论聚合报告侦听器 - 它基本上是所有采样器响应时间的 arithmetic mean(所有响应时间的总和除以计数)。如果需要,请参阅JMeter Listeners - Part 2: Listeners that Aggregate Data Samples 文章以获得更详细的说明。对于确切的公式检查Calculator 类源代码 就像问题中的第三行一样,26.3/min 这意味着一分钟内有 26 个请求,平均每个请求是 119035/1000 = 119 秒,几乎每个请求 2 分钟。但这不是看,准确吗? 我不太明白你想说什么。如果您使用 1 个用户运行请求并且响应时间为 2 分钟,您将获得每分钟 0.5 个请求。如果您使用 2 个用户运行请求并且响应时间为 2 分钟,您将每分钟收到 1 个请求。如果您使用 4 个用户运行请求并且响应时间为 2 分钟,您将获得 2 个请求/分钟。我应该一直持续到每分钟 26 个请求吗? 我知道计算哥们,不需要重复(你真可爱),谢谢你的回答!!对于之前的评论,我的意思是...从 Jmeter 响应中,我试图理解逻辑,如果您可以再次阅读之前的评论,我在询问/确认,如果 26.3/分钟是吞吐量,这意味着它可以处理 26在一分钟内请求.. 但是如果我检查平均列下第三行显示 119035 的平均值,那么请求几乎需要 2 分钟.. 如果我比较两个结果,每分钟 26 个请求,但平均请求时间是 2 分钟。 . 对此我有疑问!!以上是关于如何使用 Jmeter 测试工具获取请求的平均响应时间的主要内容,如果未能解决你的问题,请参考以下文章