JMeter清除JDBC响应数据



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

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

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

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

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

如文件所述:

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

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

它可以通过两种方式实现

  1. 补丁抽象JDBCTestElement类
  2. 切换到JSR223Sampler,完全用Groovy编写数据库负载测试逻辑,类似于CassandraLoadTestingwithGroovy文章中描述的方法

最新更新