查询超时在 JDBC 请求中不起作用

问题描述 投票:0回答:1

我有一个 JDBC 请求,我将查询超时固定为 30 秒。但大多数时候它无休止地进行着。请查看下面的屏幕截图,如果需要任何更改,请告诉我。我也添加了持续时间断言,但它从未执行过。

查询类型 - Select 语句

JDBC 连接配置

是否有任何解决方法可以在 30 秒后中断等待?

提前致谢...

jdbc jmeter
1个回答
1
投票

你的截图没有多大帮助。

如果您正在使用具有 30 秒查询超时的 JDBC 请求并且它仍然无休止地继续,请考虑以下步骤:

仔细检查您的 JDBC 配置:确保您已在 JDBC 驱动程序中正确设置超时。不同的数据库有不同的指定查询超时的方式。例如,如果您使用的是 MySQL,则可以像这样在连接字符串中设置 socketTimeout 参数:

jdbc:mysql://localhost/db_name?socketTimeout=30000

确保将 localhost" 和 db_name 替换为适合您数据库的值。

使用 Statement.setQueryTimeout():在您的 Java 代码中,您可以使用 setQueryTimeout() 方法为您的查询设置超时。例如:

Statement stmt = conn.createStatement();
stmt.setQueryTimeout(30); // Set the timeout to 30 seconds
ResultSet rs = stmt.executeQuery("SELECT * FROM your_table");

记得用相关的表名替换“your_table”。

检查数据库服务器:问题可能不在您的 JDBC 请求中。数据库服务器可能遇到性能问题或负载过重。检查服务器端是否存在长时间运行的查询或性能瓶颈,并在必要时解决它们。

验证持续时间断言:仔细检查您的持续时间断言以确保其设置正确。如果它没有被执行,可能是由于配置错误或测试脚本中的错误。

如果您在尝试这些步骤后仍然遇到问题,请考虑提供更多信息或代码片段以获得进一步帮助。

© www.soinside.com 2019 - 2024. All rights reserved.