我在 JMeter 中有一个测试计划来测试 memSQL 数据库,它似乎只运行每个线程一次,而不是永远运行。
- 它有 3 个线程组。
- 每个都有自己的 JDBC 请求元素(1 表示删除,1 表示插入,1 表示选择)。
- 我希望所有请求都从 csv 文件中读取参数。我为整个测试计划使用 1 个 CSV 数据集配置元素(共享模式设置为所有活动线程)和每个线程组 1 个(模式设置为当前线程组)尝试了我的测试。
- 用于删除和插入的 JDBC 请求元素具有为查询类型属性设置的准备好的更新语句。
- select 的一个请求元素具有为该字段设置的准备好的 select 语句值。
- 在我尝试的所有情况下,CSV 数据集配置属性都设置为:EOF 上的回收 - 真,EOF 上的停止线程 - 假。
- 我在整个测试计划中使用了一个恒定的吞吐量计时器元素。对于 based on 属性,它设置为所有活动线程(共享)。
- 就像标题中提到的那样 - 每个线程组都勾选了永远循环计数框。没有使用调度程序,并且在错误时选择了继续按钮(尽管没有)。
- 在摘要报告中,我没有从 db 中得到 java 异常。只有查询输出和延迟时间。
如前所述,我已经为所有线程组尝试了 1 个 csv 源文件。现在我创建了 3 个不同的 csv 文件,问题仍然存在。我尝试将所有线程的加速时间设置为 0、0.1、1、2,但仍然没有运气。
查看我创建的摘要报告后,我总是看到相同数量的样本。我有 3 个线程组,每个线程组有 80 个线程,所以我总是得到 240 个相同的线程。即使测试持续了 1、2、3 分钟等。我尝试通过关机和停止测试来结束测试,并且两者都得到了相同的数字。
我希望线程继续运行,似乎它们只完成一次工作,然后在测试进行时停止。这与恒定吞吐量计时器有关吗?我在这里想念什么?