我正在使用两个事务控制器运行测试,每个事务控制器包含三个端点。单次迭代后,JMeter 中的聚合和摘要报告显示总平均响应时间为 85 毫秒。
JMeter 似乎通过将每个请求的平均响应时间与事务控制器本身的平均响应时间相结合来计算总平均值。为什么 JMeter 在总体计算中再次包含事务控制器的平均值?
我的期望是,总平均响应时间将通过取每个事务控制器组的平均值来计算,具体来说,将每组的总平均时间除以组数。或者,我认为可以通过将每个请求的组合平均响应时间除以请求总数来计算总平均响应时间。
在这种情况下,JMeter 似乎将请求和事务控制器的总平均值除以 8,得到 85 毫秒。不是应该计算为342/6或者687/8吗?
如果您能提供有关 JMeter 如何计算摘要报告平均值以及为何在总平均值计算中包含事务控制器的指导,我将不胜感激。
如果这是一个问题,我们如何修复摘要报告计算?
对于我的最终执行报告,我需要查看每个事务控制器统计信息(每个页面的总体页面加载时间)以及摘要报告中的每个请求时间。所以,启用“生成父采样器”对我来说不是一个选项。
根据文档,我认为这是设计使然:
事务控制器生成一个额外的样本,用于测量执行嵌套测试元素所需的总时间。
如果您认为侦听器的行为不正确,您可以在 JMeter 项目中提出问题
您可以使用HTML Reporting Dashboard进行结果分析,它在计算平均响应时间时不考虑事务控制器的执行时间。
您可以查看JMeter的事务控制器是什么?文章以更好地了解事务控制器是如何工作的。
您还可以检查Calculator.java源代码,它可能有助于识别 JMeter 指标和 KPI 背后的逻辑。