如何在 jmeter 中关闭 JDBC 连接
Posted
技术标签:
【中文标题】如何在 jmeter 中关闭 JDBC 连接【英文标题】:How to close JDBC Connection in jmeter 【发布时间】:2020-02-14 02:52:59 【问题描述】:我正在使用 JDBC 连接配置和 JDBC 请求采样器从数据库中获取测试数据,以获取大量数据以满足我的测试需求。 我的问题是,如果我们通过连接配置和 JDBC 采样器连接到数据库以从数据库中获取数据,那么我们如何像使用其他性能测试工具 Neoload 一样关闭来自数据库的连接。 到目前为止,我从使用 sp_who2 或以下查询的 sql server 中的活动连接总数中看到的是 jmeter 测试执行完成后 JDBC 连接未关闭。 问题是,如果我的使用目的在脚本执行中完成,如何关闭 JDBC 连接? 任何帮助将不胜感激。
【问题讨论】:
您实际使用的是哪个版本?您不能同时使用三个不同的版本吗?但总的来说:JMeter 创建一个连接池,您可以通过“Soft Min Evictable Idle Time”属性配置未使用的连接应该在多长时间后关闭。详见手册:jmeter.apache.org/usermanual/… 您的问题解决了吗?如果没有,您是否联系过 JMeter? 【参考方案1】:如果这是您真正需要的,您可以从任何JSR223 Test Element 调用DataSourceElement.getConnection() 函数,该函数将返回java.sql.Connection 的实例,因此您将能够调用Connection.close() 函数。
类似:
org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection('foo').close()
其中foo
是您的连接池变量名称。
【讨论】:
【参考方案2】:JDBC Connection Configuration 在使用连接池时出现问题
池中允许的最大连接数。在大多数情况下,将其设置为零 (0)。这意味着每个线程将获得自己的池,其中包含一个连接,即线程之间不共享连接。
如果你设置了 0 个连接并且问题仍然存在,请为 JMeter 打开一个问题
【讨论】:
以上是关于如何在 jmeter 中关闭 JDBC 连接的主要内容,如果未能解决你的问题,请参考以下文章
如何在Jmeter webdriver Sampler中关闭新打开的窗口。