JMeter报告详情计数错误:450用户测试但index.html总计数显示902
问题根因
- 你看到的计数重复是JMeter子采样器统计逻辑导致的:你的HTTPS Sampler开启了
跟随重定向功能,当接口返回301/302类重定向响应时,JMeter会自动发起重定向后的请求,这类自动生成的请求会被标记为子采样器,命名规则为「原采样器名-数字后缀」,也就是你报告里的APIName-0、APIName-1。 - JMeter生成可视化报告时默认会同时统计主采样器和子采样器的所有数据,所以主采样的450条加上两个子采样的226、226条,合计得到902的错误总数,而后台仅统计业务主请求,所以和450的实际值匹配。
- 若你在采样器外层配置了事务控制器,也可能是事务控制器勾选了同时统计父子采样的选项,导致重复计数。
修复方案
方案1:报告生成时过滤子采样(推荐,不改变原有请求逻辑)
修改JMeter根目录下bin/jmeter.properties配置,新增/调整如下参数:
# 排除事务控制器的重复采样统计 jmeter.reportgenerator.exclude_tc_samples=true # 过滤所有后缀带-数字格式的子采样器 jmeter.reportgenerator.sample_filter=-.*\-[0-9]+$
修改后重新生成可视化报告,就只会统计你自定义命名的APIName主采样器数据,总计数和实际请求一致。
方案2:关闭重定向子采样上报
如果不需要单独统计重定向请求的性能数据,直接调整HTTPS Sampler配置即可:
- 取消勾选
将重定向请求作为子采样器保存选项,重定向请求的耗时会合并到主采样器中统计,不会单独生成子采样条目 - 若不需要自动重定向,也可以直接关闭
跟随重定向选项,改为手动编写重定向处理逻辑。
内容的提问来源于stack exchange,提问作者benevolent
相关产品推荐
相关产品推荐

