8.5.3 データベースへのアクセス方法を最適化するためのチューニングパラメタ
ここでは,データベースへのアクセス方法の最適化で使用するチューニングパラメタの設定方法についてまとめて示します。
- 〈この項の構成〉
(1) コネクションプーリング
コネクションプーリングのチューニングパラメタの設定方法について説明します。
次の表に示す項目は,リソースアダプタ単位に,サーバ管理コマンド(cjsetresprop/cjsetrarprop)で設定します。パラメタは,Connector属性ファイルに定義します。
設定項目 |
設定個所(パラメタ名)※1 |
---|---|
コネクションプールにプールするコネクションの最小値 |
<property>タグに指定するMinPoolSize |
コネクションプールにプールするコネクションの最大値 |
<property>タグに指定するMaxPoolSize |
プール内のコネクションに障害が発生しているかどうかをチェックする方法の選択 |
<property>タグに指定するValidationType |
プール内のコネクションに障害が発生しているかどうかのチェックを定期的に実行する場合の間隔 |
<property>タグに指定するValidationInterval |
コネクション枯渇時にコネクション取得要求をキューで管理するかどうかの選択 |
<property>タグに指定するRequestQueueEnable |
コネクション枯渇時のコネクション取得要求をキューで管理する場合の待ち時間 |
<property>タグに指定するRequestQueueTimeout |
コネクションの取得に失敗した場合のリトライ回数※2 |
<property>タグに指定するRetryCount |
コネクションの取得に失敗した場合のリトライ間隔※2 |
<property>タグに指定するRetryInterval |
コネクションの最終利用時刻からコネクションを自動破棄するかを判定するまでの時間 |
<property>タグに指定するConnectionTimeout |
コネクションの自動破棄(コネクションスイーパ)が動作する間隔 |
<property>タグに指定するSweeperInterval |
コネクションのウォーミングアップを使用するかどうかの選択 |
<property>タグに指定するWarmup |
コネクション障害検知にタイムアウト時間を設定するかどうかの選択※3 |
<property>タグに指定するNetworkFailureTimeout |
コネクション数調節機能での削除処理にタイムアウト時間を設定するかどうかの選択※3 |
|
コネクション数調節機能が動作する間隔 |
<property>タグに指定するConnectionPoolAdjustmentInterval |
- ポイント
-
HiRDBまたはXDM/RD E2でコネクションプーリング機能を使用する場合,次の設定を推奨します。
-
HiRDBでコネクションプーリング機能を使用する場合
HiRDBのサーバからコネクションを切断されないようにHiRDBクライアント環境変数を設定してください。詳細は,マニュアル「HiRDB UAP開発ガイド」を参照してください。
-
XDM/RD E2でコネクションプーリング機能を使用する場合
DBコネクションサーバのコントロール空間起動制御文/サーバ空間起動制御文のSVINTERVALパラメタに「0」を指定します。このパラメタについては,マニュアル「VOS3 Database Connection Server」を参照してください。
上記を設定しなかった場合,プールしているコネクションが,タイムアウトによってデータベースから切断されることがあります。
-
障害検知機能を使用している場合
障害検知機能によって,タイムアウトでデータベースから切断されたコネクションを破棄します。コネクションは正常に取得できます。
-
障害検知機能を使用していない場合
タイムアウトでデータベースから切断されたコネクションを取得します。
-
(2) ステートメントプーリング
ステートメントプーリングのチューニングパラメタの設定方法について説明します。
次の表に示す項目は,サーバ管理コマンド(cjsetresprop/cjsetrarprop)で設定します。パラメタは,Connector属性ファイルに定義します。
設定項目 |
パラメタ名※ |
---|---|
物理コネクションごとにプールするPreparedStatementの数 |
<config-property>タグに指定するPreparedStatementPoolSize |
物理コネクションごとにプールするCallableStatementの数 |
<config-property>タグに指定するCallableStatementPoolSize |
注※ クラスタコネクションプール機能(互換機能)を使用している場合は,メンバリソースアダプタで設定します。