gpt4 book ai didi

java - Jboss后台验证

转载 作者:搜寻专家 更新时间:2023-11-01 03:24:47 25 4
gpt4 key购买 nike

我们的应用程序一直在使用基于 ping 的方法,在执行每个查询之前。触发验证查询以检查连接是否有效。相同的数据源配置如下:

  <min-pool-size>10</min-pool-size>
<max-pool-size>250</max-pool-size>
<blocking-timeout-millis>90000</blocking-timeout-millis>
<track-statements/>
<new-connection-sql>SELECT 1</new-connection-sql>
<check-valid-connection-sql>SELECT 2</check-valid-connection-sql>.

现在在这种方法中,我们可以看到有很多次“select 1”sql 被执行并且不必要地增加了操作的总成本。

当我搜索可能的替代方案时,是在后台进行连接检查。

相同的数据源配置如下:

<min-pool-size>10</min-pool-size>
<max-pool-size>250</max-pool-size>
<blocking-timeout-millis>90000</blocking-timeout-millis>
<track-statements/>
<new-connection-sql>SELECT 1</new-connection-sql>
<check-valid-connection-sql>SELECT 2</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>600000</background-validation-millis>

我的问题是这是推荐的吗?如果我们使用上述方法是否有任何负面影响?

最佳答案

这不是默认行为,但当您有非常频繁的查询时(例如您的情况),这是一个非常好的选择。你是对的,这将显着改善查询的延迟。

唯一的缺点是如果验证期background-validation-millis之间的连接出现问题。在这种情况下,您的查询将失败,因此请检查您的错误处理代码。我认为为您可能获得的性能提升付出的代价是非常便宜的。

希望这对您有所帮助。

关于java - Jboss后台验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17522155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com