【问题标题】:JMeter Clear JDBC response dataJMeter 清除 JDBC 响应数据
【发布时间】:2020-04-17 04:56:44
【问题描述】:

我们现在正在使用 JMeter 对数据库进行压力测试。我们正在发送一堆查询,数据库以每个查询的结果集进行响应。

当数据返回时,它会保留在我们用来执行 JMeter 测试的机器的内存 RAM 中。我们不希望这样,因为它会填满内存,减慢测试速度,并且很快我们就会从 JVM 收到内存不足错误。最好的处理方法是什么?

有没有办法将数据保存在某个地方的 csv 文件中或清除内存 RAM?我们并不真正关心返回的数据。我们关心的只是衡量性能。

【问题讨论】:

标签: java memory jmeter performance-testing ram


【解决方案1】:

JMeter 会自动从不再需要的资源中释放内存。因此,您的运行配置似乎需要对收到的结果的引用。

如果您使用的是View Results Tree,则应将其从运行配置中删除。

As stated in the documentation:

在负载测试期间不得使用查看结果树,因为它会消耗大量资源(内存和 CPU)。仅将其用于功能测试或测试计划调试和验证期间。

【讨论】:

    【解决方案2】:

    你不能,我能想到的唯一方法是通过execute()函数而不是executeQuery()调用JDBC语句,这样你就不会得到ResultSet这意味着JMeter的内存消耗将是较少的。

    可以通过两种方式实现

    1. 补丁AbstractJDBCTestElement
    2. 切换到 JSR223 Sampler 并完全在 Groovy 中编写数据库负载测试逻辑,类似于 Cassandra Load Testing with Groovy 文章中描述的方法。

    【讨论】:

      猜你喜欢
      • 2021-03-08
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多