JMeter如何仅通过Transaction Controller生成不含子请求的每秒事务数图表
解决JMeter仅生成Transaction Controller的TPS图表问题
前置检查与配置修正
- 打开JMeter脚本找到对应Transaction控制器,勾选Generate parent sample选项,该配置会将事务控制器的整体统计作为父样本写入结果文件。
- 若需要从根源避免子取样器写入JTL,可修改
jmeter/bin/user.properties文件,添加如下配置后重启JMeter:
# 仅保存事务控制器父样本,不保存子取样器结果 jmeter.save.saveservice.subresults=false # 确保事务样本被正常记录 jmeter.save.saveservice.transaction_samples=true
若你需要保留子取样器结果用于其他分析,无需修改上述配置,后续通过命令行过滤即可。
重新生成JTL结果文件
完成上述配置后重新运行JMeter脚本,生成包含事务控制器父样本的新JTL文件,原有未包含父样本的JTL无法提取事务整体指标。
调整插件命令过滤数据
在原有JMeterPluginsCMD命令中新增标签过滤参数,仅匹配你需要展示的Transaction控制器标签即可,示例命令如下:
JMeterPluginsCMD.bat --generate-png E:\Outcode\ProtocolNow\Data\Jmeterlog\test-result-1.png --input-jtl E:\Outcode\ProtocolNow\Data\Jmeterlog\scriptresults.jtl --plugin-type TransactionsPerSecond --width 800 --height 600 --include-label-regex "你的事务名前缀.*"
- 若你所有需要展示的事务控制器命名均带有统一前缀,直接将
你的事务名前缀替换为实际前缀即可,命令会自动过滤掉所有子取样器数据。 - 若事务命名无统一规则,也可使用
--exclude-label-regex参数排除所有子取样器的匹配规则。
内容的提问来源于stack exchange,提问作者Rasik
相关产品推荐
相关产品推荐

