Mysql JMeter JDBC手动提交

Mysql JMeter JDBC手动提交,mysql,jdbc,jmeter,mariadb,commit,Mysql,Jdbc,Jmeter,Mariadb,Commit,我正在使用JMeter进行一些负载测试,需要运行一个插入几千条记录的测试。部分要求是它不应该提交每个单独的更新,而应该只提交每千条记录。看起来很简单,但我找不到任何示例或文档来解释如何在JMeter中进行手动提交,而且我无法让它工作 我已经将其设置为从csv文件中读取一些条目,并为递增的ID字段添加一个计数器变量。如果启用了自动提交,则工作正常。 当我禁用自动提交时,不会提交任何内容——正如您所期望的那样。但我怎样才能保证呢?我甚至不能让它在没有自动提交的情况下提交每个更新,更不用说指定的速率了

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

我已经将其设置为从csv文件中读取一些条目,并为递增的ID字段添加一个计数器变量。如果启用了自动提交,则工作正常。
当我禁用自动提交时,不会提交任何内容——正如您所期望的那样。但我怎样才能保证呢?我甚至不能让它在没有自动提交的情况下提交每个更新,更不用说指定的速率了

  • 我尝试添加带有commit语句和/或 提交查询类型,在同一数据库连接池上,只有一个线程在 那是游泳池,在测试中,但那不起作用
  • 尝试了与单独的JDBC请求相同的操作,但也不起作用
  • 尝试将commit添加到我的update语句本身,但没有成功
  • 尝试更改事务隔离,但这些值似乎都不起作用 区别
  • 尝试使用预处理器或 请求或在现有请求中,但这也没有帮助

我假设我的问题可能是提交将进入一个与实际update语句不同的事务中…但我找不到任何方法来更改它…

尝试执行以下操作:

  • 添加查询类型设置为“自动提交”(false)的
  • 根据需要放置JDBC请求
  • 添加查询类型设置为提交的JDBC请求
你的计划应该是这样的:

首先将自动提交设置为false:

然后调用您的更新查询:

最后承诺:

将自动提交重置为真:


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

不走运……如果是JMeter问题,这是一个长期存在的问题。我们安装了JMeter3.2,我最初使用的是mysql连接器版本5.1.27,这两个版本都很旧。所以我升级到了最新版本——jmeter 5.3和mysql连接器8.0.21,然后我注意到现在还有一个专用的mariadb连接器,所以我也尝试了(版本2.6.2)…但是每种组合都有相同的问题。有点怀疑Jmeter在如此基本的东西上的错误在这么长时间内都没有被注意到…我想这是一个“此配置中不支持”的问题…但我会与Jmeter Folks联系。您可以共享测试计划的屏幕截图或在Jmeter 5.X中运行:菜单工具>生成原理图概述。ThanksI根据您发送给用户邮件列表的内容更新了我的答案抱歉,数据库出现了一些问题,不得不等待管理员度假回来。我已经尝试过如截图所示进行配置,但仍然得到相同的结果。没有新的记录被添加到数据库中…好吧,看来我已经让它工作了,给了mariadb连接器一次机会,而不是mysql连接器,这似乎已经做到了,至少在较新的jmeter版本上。旧版本仍然不起作用……这可能有点问题,因为我不确定新版本是否得到公司批准,但我将把这个问题留给管理层;)