如何使用 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 测试工具获取请求的平均响应时间的主要内容,如果未能解决你的问题,请参考以下文章

jmeter 性能测试

jmeter聚合报告的参数分析

Jmeter之测试报告

Jmeter正则提取请求响应数据

jmeter测试报告性能指标分析

Jmeter中的监听器以及测试结果分析