SQLDB Bluemix 服务的高级计划支持 DB2 高可用性。但是,服务凭证提供的默认 JDBC URL 使用的宽容超时比我想使用的要多。以下是默认 JDBC URL 的示例:
jdbc:db2://1.1.1.1:50001/DBName:clientRerouteAlternateServerName=2.2.2.2;clientRerouteAlternatePortNumber=50001;sslConnection=true;
从各种实验来看,默认超时似乎是:
- 初始连接超时:2 分钟
- 套接字读取超时:操作系统的默认值。我读过它可能超过一个小时。
在主服务器突然不可用的故障场景中,现有连接将保持“打开”状态,直到达到套接字读取超时。这可以使该连接上的请求看起来“挂起”。此外,由于默认连接超时时间为 2 分钟,因此任何建立新连接的尝试都需要 2 分钟或更长时间。
我想使用更小的超时来确保更高程度的应用程序可用性。我尝试自己调整各种 JDBC URL 参数,但我成功地打破了几次故障转移。所以我想是时候问专家了:
为了控制初始连接超时和套接字读取超时(并且不中断到辅助服务器的故障转移),我应该设置或更改哪些 DB2 JDBC 超时相关参数?