【发布时间】:2015-11-06 19:16:18
【问题描述】:
我试图根据 jtl 日志中基于以下参数的一些属性来计算吞吐量(请求数/时间单位)的公式:
- 时间戳 (ts)
- 时间(t)
- 请求总数
查看时间戳,我不完全确定它是指发送请求的时间还是收到响应的时间(我在这里的主要混淆点)。看看第一个选项的值似乎更有可能。因此,假设这一点,我得出以下结论:
Throughput = (NumRequests / (max(ts + t) - min(ts)) ) * 1000
谁能告诉我这是否正确?
更新(感谢@BlackGaff 的回复)
关键是我需要在非 gui 环境中为一些自动化进程执行测试并收集结果,所以我不能真正使用聚合报告(除非有办法从命令运行它线)。使用 max & min 是尝试从一组请求(在同一测试中)中找到 ts 值。此外,如果我将采样器配置为具有不同于 0 的斜坡上升周期(因此负载是分布的),我得到的 ts 数字是不同的。是的,正如您之前已经提到的,我正在有效地寻找第一个样本的 startTime 和最后一个样本的 endTime 之间的差异。除此之外,我在 jmeter.properties 中找到了一个参数:
# Put the start time stamp in logs instead of the end
#sampleresult.timestamp.start=true
因此,根据这个参数,我似乎还应该更改计算以获取开始和结束时间。
注意:我很好奇如何根据 jtl 文件进行计算,但如果有人需要从命令行获取这些数字,请尝试添加“生成摘要报告”侦听器,然后在 jmeter 日志中您会得到一个执行结束时类似于以下的行:
2011/03/10 22:31:42 INFO - jmeter.reporters.Summariser: Generate Summary Results = 200 in 9.8s = 20.5/s Avg: 95 Min: 75 Max: 315 Err: 0 (0.00%)
【问题讨论】:
标签: jmeter