Hitachi

Cosminexus V11 アプリケーションサーバ システム設計ガイド


8.5.3 データベースへのアクセス方法を最適化するためのチューニングパラメタ

ここでは,データベースへのアクセス方法の最適化で使用するチューニングパラメタの設定方法についてまとめて示します。

〈この項の構成〉

(1) コネクションプーリング

コネクションプーリングのチューニングパラメタの設定方法について説明します。

次の表に示す項目は,リソースアダプタ単位に,サーバ管理コマンド(cjsetresprop/cjsetrarprop)で設定します。パラメタは,Connector属性ファイルに定義します。

表8‒23 コネクションプーリングのチューニングパラメタ

設定項目

設定個所(パラメタ名)※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

注※1 クラスタコネクションプール機能(互換機能)を使用している場合は,メンバリソースアダプタで設定します。

注※2 クラスタコネクションプール機能(互換機能)を使用している場合は,設定できません。

注※3 コネクション障害検知のタイムアウトとコネクション数調節機能のタイムアウトでは,共通のコネクション管理メソッドを使用します。このため,どちらかのタイムアウトを設定すると,コネクション障害検知とコネクション数調節機能の両方のタイムアウトが有効になります。コネクション障害検知,およびコネクション数調節機能のタイムアウト時間を変更したい場合は,簡易構築定義ファイルで設定するJ2EEサーバ用のパラメタ(ejbserver.connectionpool.validation.timeout)の設定を変更してください。詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「4.11.2 J2EEサーバ用ユーザプロパティを設定するパラメタ」を参照してください。

ポイント

HiRDBまたはXDM/RD E2でコネクションプーリング機能を使用する場合,次の設定を推奨します。

  • HiRDBでコネクションプーリング機能を使用する場合

    HiRDBのサーバからコネクションを切断されないようにHiRDBクライアント環境変数を設定してください。詳細は,マニュアル「HiRDB UAP開発ガイド」を参照してください。

  • XDM/RD E2でコネクションプーリング機能を使用する場合

    DBコネクションサーバのコントロール空間起動制御文/サーバ空間起動制御文のSVINTERVALパラメタに「0」を指定します。このパラメタについては,マニュアル「VOS3 Database Connection Server」を参照してください。

上記を設定しなかった場合,プールしているコネクションが,タイムアウトによってデータベースから切断されることがあります。

  • 障害検知機能を使用している場合

    障害検知機能によって,タイムアウトでデータベースから切断されたコネクションを破棄します。コネクションは正常に取得できます。

  • 障害検知機能を使用していない場合

    タイムアウトでデータベースから切断されたコネクションを取得します。

(2) ステートメントプーリング

ステートメントプーリングのチューニングパラメタの設定方法について説明します。

次の表に示す項目は,サーバ管理コマンド(cjsetresprop/cjsetrarprop)で設定します。パラメタは,Connector属性ファイルに定義します。

表8‒24 ステートメントプーリングのチューニングパラメタ

設定項目

パラメタ名

物理コネクションごとにプールするPreparedStatementの数

<config-property>タグに指定するPreparedStatementPoolSize

物理コネクションごとにプールするCallableStatementの数

<config-property>タグに指定するCallableStatementPoolSize

注※ クラスタコネクションプール機能(互換機能)を使用している場合は,メンバリソースアダプタで設定します。