调查等待时间事件
对于从本地应用程序迁移到云上服务时面临等待时间问题的用户,请联系 Db2 on Cloud 团队,然后完成以下步骤以提高等待时间。 要开始等待时间改进过程,请打开支持案例。
有关打开 IBM 支持案例或有关支持级别和案例严重性的信息,请参阅: 使用支持案例
如果此时未联系 Db2 on Cloud 团队,那么无法完成等待时间改进过程。
步骤
-
设置客户机 SSL (如果尚未设置)
对于现有 Db2 用户,将在配置过程中设置 SSL。
如果需要 SSL 设置,请遵循 Db2 文档中概述的步骤:
https://www.ibm.com/docs/en/db2/11.5?topic=ctsidc-configuring-tls-support-in-non-java-db2-clients -
设置客户机连接
-
要启用客户机亲缘关系,自动客户机重新路由 (ACR) 配置由 db2 客户机上的 db2dsdriver.cfg 提供
-
从
/opt/ibm/db2/V11.5/cfg/db2dsdriver.cfg.sample
获取样本 db2dsdriver -
复制到
/home/db2inst1/sqllib/cfg/
-
重命名为 db2dsdriver.cfg
-
-
db2dsdriver.cfg 是用于与 db2 数据库建立连接的最后一种配置方法。 这意味着 db2dsdriver.cfg 的优先级最低,仅当没有其他连接配置可用时才会用于连接。
-
为了将 db2dsdriver.cfg 用于连接,需要对该特定数据库禁用或除去所有其他连接配置。 确保在需要执行回退的情况下备份这些现有配置方法。 这包括以下内容:
- db2 节点和数据库连接详细信息 (选中
db2 list node directory
和db2 list database directory
-验证您尝试连接到的数据库的连接详细信息是否不存在)- 先备份连接配置,然后再将其移除
- db2cli.ini 文件 (验证此文件不存在或不具有特定数据库的连接详细信息-可以在
~/sqllib/cfg
中找到)- 将 db2cli.ini 备份为 db2cli.ini.bak
- 有关更多详细信息,请参阅 https://www.ibm.com/docs/en/db2/11.5?topic=file-order-precedence-obtaining-database-information
- db2 节点和数据库连接详细信息 (选中
-
-
更新 db2dsdriver.cfg
-
需要使用数据库所需的连接参数来更新 db2dsdriver.cfg。
- 如果存在现有 db2dsdriver.cfg,请将其复制到 db2dsdriver.cfg.bak
-
请参阅 db2 数据服务器驱动程序配置文档- https://www.ibm.com/docs/en/db2/11.5?topic=drivers-data-server-driver-configuration-file
-
首选路径将是客户机所在的任何区域,而不考虑主区域的位置,因为主区域可以轮换到其他区域。 当主项与客户机位于不同的区域中时,会有 50% 的改进 (比没有首选路径),但如果当前主项与客户机位于同一区域中 (比没有首选路径改进 75%),那么将实现最快的连接时间。
-
要启用客户机亲缘关系 (设置首选路径),db2dsdriver.cfg: 中需要
<acr>...</acr>
配置<acr> <parameter name="enableACR" value="true"/> <!--<parameter name="enableSeamLessACR" value="true"/>--> <parameter name="maxAcrRetries" value="10"/> <!--maximum number of connection attempts to each server in the list of alternate servers for ACR--> <parameter name="acrRetryInterval" value="5"/> <!--number of seconds to wait between retries--> <parameter name="affinityFailbackInterval" value="10"/> <!--number of seconds to wait after the first transaction boundary to fail back to the primary server--> <alternateserverlist> <server name="dal10" hostname="db2-icd-preprod-us-s-759393.us-south.serviceendpoint.cloud.ibm.com" port="31014"> </server> <server name="dal12" hostname="db2-icd-preprod-us-s-207889.us-south.serviceendpoint.cloud.ibm.com" port="31014"> </server> <server name="dal13" hostname="db2-icd-preprod-us-s-747467.us-south.serviceendpoint.cloud.ibm.com" port="31014"> </server> </alternateserverlist> <affinitylist> <list name="dal13_primary" serverorder="dal13,dal12,dal10"> </list> <list name="dal12_primary" serverorder="dal12,dal13,dal10"> </list> <list name="dal10_primary" serverorder="dal10,dal12,dal13"> </list> </affinitylist> <clientaffinitydefined> <!--this section has specific defined affinities --> <client name="client1" hostname="localhost" listname="dal10_primary"> </client> </clientaffinitydefined> </acr>
- 在
<acr></acr>
块中,必需参数包括:- enableACR-应设置为 true
- alternateserverlist-要尝试的备用服务器的列表,包括要连接到的主服务器 (注意: 主机名值应该引用在服务器设置的步骤 2 中创建的别名)
- affinitylist-尝试连接来自 alternateserverlist 的服务器的顺序。 当主和客户机位于同一区域中时,亲缘关系列表排序:
<client_zone, zone2, zone3>
其中 zone2 和 zone3 顺序无关紧要。 当主区域和客户机位于不同的区域中时,affinitylist 排序:<client_zone, primary_zone, zone3>
- clientaffinitydefined-定义给定客户机应该使用的来自 affinitylist 的列表
- 在
-
db2dsdriver.cfg 示例:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <configuration> <dsncollection> <dsn alias="hadb" host="db2-icd-preprod-us-s-747467.us-south.serviceendpoint.cloud.ibm.com" name="BLUDB" port="31014"> </dsncollection> <databases> <database host="db2-icd-preprod-us-s-747467.us-south.serviceendpoint.cloud.ibm.com" name="BLUDB" port="31014"> <parameter name="SecurityTransportMode" value="SSL"/> <parameter name="SSLServerCertificate" value="/home/db2inst1/SSL/db2_ha.crt"/> <acr> <parameter name="enableACR" value="true"/> <!--<parameter name="enableSeamLessACR" value="true"/>--> <parameter name="maxAcrRetries" value="10"/> <!--maximum number of connection attempts to each server in the list of alternate servers for ACR--> <parameter name="acrRetryInterval" value="5"/> <!--number of seconds to wait between retries--> <parameter name="affinityFailbackInterval" value="10"/> <!--number of seconds to wait after the first transaction boundary to fail back to the primary server--> <alternateserverlist> <server name="dal10" hostname="db2-icd-preprod-us-s-759393.us-south.serviceendpoint.cloud.ibm.com" port="31014"> </server> <server name="dal12" hostname="db2-icd-preprod-us-s-207889.us-south.serviceendpoint.cloud.ibm.com" port="31014"> <!--client is in dal12--> </server> <server name="dal13" hostname="db2-icd-preprod-us-s-747467.us-south.serviceendpoint.cloud.ibm.com" port="31014"> </server> </alternateserverlist> <affinitylist> <list name="dal13_primary" serverorder="dal13,dal12,dal10"> </list> <list name="dal12_primary" serverorder="dal12,dal13,dal10"> </list> <list name="dal10_primary" serverorder="dal10,dal12,dal13"> <!--primary--> </list> </affinitylist> <clientaffinitydefined> <!--this section has specific defined affinities --> <client name="client1" hostname="localhost" listname="dal13_primary"> </client> </clientaffinitydefined> </acr> </database> </databases> </configuration>
此配置假定主数据库位于 dal13 区域中,客户机位于 dal12 中 (因此,仍需要至少 1 个网络中继段)
- 此样本定义 preprod 中两种不同构造的 db2 连接详细信息-使用数据库别名的单个节点构造
singledb
和使用数据库别名的 ha 构造hadb
-