我正在开发一种高负载 Web 服务,它可以提供尽可能快的响应。该服务应保持与各种数据库的大量连接,以获得更快的性能。我建议为此使用连接池。数据库可能存在连接问题,因为我们有很多通过 VPN 对数据库的远程访问。正如我所说,服务应该尽可能长时间地保持连接。
什么是连接池管理算法?
我有一个连接字符串:代码:
User Id=inet;Password=somePassw0rd;Data Source=TEST11;Min Pool Size=5;Max Pool Size=15;Pooling=True
然后我只需在我的代码中打开和关闭连接。就是这样。
此刻一切正常。DB端有五个会话。所以我会终止一个会话来模拟连接问题。在某些情况下,连接将由池管理器恢复,而在某些情况下则不会。
如果我杀死所有五个连接,它们将永远不会恢复。
如何配置池管理器?检查数据库连接之间的持续时间有任何设置吗?
我使用validate connection=true;
它似乎对我来说工作正常,但如果需要重新连接到数据库,它需要一些努力,因此拥有一个已经很好的连接会更有效率。
我使用的组件是devArt dotConnect for Oracle。提前致谢!