首页 > 解决方案 > JMeter:如何对批量从数据库表中删除数据进行基准测试?

问题描述

我正在尝试使用 JMeter 比较 DELETE 批量大小之间的性能差异。

我有一张表格,里面有大量的测试数据。接下来,我有一个运行以下语句的 JDBC 请求:

delete from tbl where (entry_dt < '2019-02-01') and (rownum <= 10000);

我想继续运行这个直到表为空,并记录清除表所用的时间。

我将多次运行此线程以获得平均执行时间,并针对不同的批量大小重复此过程。

  1. 我应该如何定义我的 While 控制器来实现这一点?

  2. 我从其他网站读到我可以使用事务控制器来计时我的过程,但我不熟悉这个功能。我应该如何定义我的事务控制器来实现这一点?

标签: jmetersql-deletedatabase-performance

解决方案


我会这样做:

  1. 使用“JDBC Request - Get Count”采样器从数据库中获取需要删除的数据获取计数
  2. 使用 BeanShell 断言检查是否有更多可以删除的数据。否则停止线程BeanShell 断言
  3. 执行删除数据的请求删除数据
  4. 线程组应该停止错误测试错误停止测试

推荐阅读