You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让JDBC Sampler在JTL文件中报告返回行数而非BYTES字段?

让JDBC Sampler在.jtl文件中报告查询返回行数的方法

当然可以实现,不需要修改JMeter核心代码,通过给采样结果添加自定义字段即可解决,具体步骤如下:

1. 配置JDBC Sampler的变量名

在JDBC Sampler的Variable names字段中输入任意变量名(比如queryResult)。设置后:

  • 若执行SELECT查询,JMeter会自动生成queryResult_#变量,其值就是查询返回的行数
  • 若执行INSERT/UPDATE/DELETE等DML语句,受影响行数会默认存储在update_count变量中

2. 添加JSR223 PostProcessor

给目标JDBC Sampler添加子元素JSR223 PostProcessor,在脚本区域写入Groovy代码:

// 兼容查询和DML语句的行数获取逻辑
def rowCount = vars.get("queryResult_#") ?: vars.get("update_count") ?: "0"
// 将行数作为自定义字段添加到采样结果
prev.addCustomField("ReturnedRows", rowCount)

3. 验证结果

运行测试后查看生成的.jtl文件,会新增ReturnedRows字段:

  • 当查询无返回行(或DML无影响行)时,字段值为0
  • 当查询有返回行(或DML有影响行)时,字段值为对应行数

通过这个字段就能直接区分空结果和有结果的查询延迟,解决默认BYTES字段无法区分该场景的问题。

内容的提问来源于stack exchange,提问作者Mats Johansson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 08:57:10