JMeter JDBC手动提交

问题描述

我正在使用JMeter进行一些负载测试,并且需要运行一个插入几千条记录的测试。要求的一部分是它不应提交每个单独的更新,而仅提交每千条记录。看起来非常简单,但是我找不到任何示例或文档来说明如何在JMeter中进行手动提交,因此无法正常工作。

我已经将其设置为从csv文件中读取一些条目,以及用于递增ID字段的计数器变量。如果启用了自动提交,则可以正常工作。
当我禁用自动提交时,没有任何事情得到提交-正如您所期望的那样。但是我如何实现它呢?我什至无法在没有自动提交的情况下提交每个更新,更不用说指定速率了。

  • 我尝试添加带有commit语句和/或的JDBC后处理器 提交查询类型,在同一数据库连接池上,只有一个线程在 该池并在测试中,但这不起作用。
  • 尝试执行与单独的JDBC请求相同的操作,但这也不起作用。
  • 试图将提交添加到我的更新语句本身,没有运气。
  • 尝试更改事务隔离,但这些值似乎都没有 有所不同。
  • 试图通过预处理器或 请求或在现有请求中,但这仍然没有帮助。

我认为我的问题可能是提交正与实际的更新语句分开进行事务处理...但是我找不到任何改变方法...

解决方法

尝试执行以下操作:

  • 添加查询类型设置为AutoCommit(false)的JDBC Request
  • 根据需要放置JDBC请求
  • 添加查询类型设置为Commit的JDBC请求

您的计划应如下所示:

Overview and config

将拳头自动提交设置为false:

set autocommit to false

然后调用您的更新查询:

your SQL queries

最后提交:

commit

将自动提交重置为true:

reset autocommit

如果这不起作用,建议您向JMeter报告问题。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...