Data Virtualizationで並行クエリが遅い、または失敗する
最終更新: 2025年3月17日
Data Virtualization化はコネクション・プールを行い、コネクション・プールがいっぱいになると、パフォーマンスに悪影響が出る可能性がある。
症状
並行照会が遅くなったり失敗したりする理由はさまざまです。 例えば、接続プールがいっぱいになった場合などです。 この場合、Data Virtualizationログには以下が含まれますReached max pool size以下の例に示すような警告が表示されます。
2021-04-13 03:06:27.541~616290520 DatabaseConnector ---------------> ******* DB Connections checker:
Reached max pool size: 20, for url: jdbc:derby://172.30.217.136:6415/gaiandb6415;ssl=off;create=true - waiting 600000ms
問題の解決
この問題を回避するには、Data Virtualization設定パラメータ「MAX_POOLSIZESまたは「MAX_DS_POOLSIZES」を増やす。
- MAX_POOLSIZES は、ノード間接続の最大プール・サイズです。
- MAX_DS_POOLSIZES は、データ・ソースの最大プール・サイズです。
現在のData Virtualization設定パラメータ値を確認するには、以下のクエリを実行します。
select * from dvsys.listconfig where id = 'MAX_POOLSIZES'
それとも
select * from dvsys.listconfig where id = 'MAX_DS_POOLSIZES'
パラメーターを変更するには、以下の例に示すように dvsys.setconfigproperty
ストアード・プロシージャーを使用します。
call dvsys.setconfigproperty('MAX_POOLSIZES', 'nn', '',?,?)
それとも
call dvsys.setconfigproperty('MAX_DS_POOLSIZES', 'nn', '',?,?)
注:
'nn'
パラメーターは、現行値より大きい値に設定してください。 MAX_DS_POOLSIZESを設定するときは、リモート・データ・ソースでサポートされる接続の最大許容数に注意してください。トピックは役に立ちましたか?
0/1000