7.4.2 コネクションプーリングに関する設定

コネクションプーリングに関する設定は,共通定義ファイルで変更できます。共通定義ファイルで変更できる項目を次に示します。なお,共通定義ファイルの詳細については,「10.4 共通定義ファイルの設定」を参照してください。

なお,コネクションプールを使用する場合,「7.4 コネクションプーリング」に記載された注意事項を十分に理解した上で使用してください。

<この項の構成>
(1) コネクションプーリングの有効化
(2) コネクションの利用回数
(3) コネクションのタイムアウト
(4) 最大コネクション数

(1) コネクションプーリングの有効化

コネクションプーリングはデフォルトで無効に設定されています。コネクションプーリングを有効にするには,共通定義ファイルに「c4web.common.connection_pool.enable=true」を追加し,J2EEサーバを停止・再起動してください。

なお,SSL通信の場合,「c4web.common.connection_pool.enable=true」を追加しても,コネクションプーリングは使用できません。

(2) コネクションの利用回数

コネクションを再利用できる最大数を変更できます。コネクションを再利用した回数がこの値を超えると,コネクションは切断および破棄されます。共通定義ファイルの「c4web.common.connection_pool.max_use」で変更します。デフォルトは,10,000(回)です。0を指定すると,利用回数によるコネクションの切断および破棄は行われません。

(3) コネクションのタイムアウト

コネクションを最後に利用してから,コネクションのタイムアウトが発生するまでの時間を変更できます。コネクションのタイムアウトが発生すると,そのコネクションは切断および破棄されます。共通定義ファイルの「c4web.common.connection_pool.timeout」で変更します。デフォルトは,1,800(秒)です。0を指定すると,タイムアウトによるコネクションの切断および破棄は行われません。

コネクションのタイムアウトは,SOAPクライアント側では,共通定義ファイルの「c4web.common.connection_pool.timeout」で設定でき,Webサーバ側では,Webサーバ固有の設定方法で設定できます。SOAPクライアントとWebサーバの両方でタイムアウトが発生した場合は,コネクションは切断および破棄されます。そのため,Webサーバ側のコネクションタイムアウトの時間は,共通定義ファイルの「c4web.common.connection_pool.timeout」で設定した時間の倍以上を設定し,Webサーバ側のタイムアウトによってコネクションが切断されることのないようにしてください。例えば,共通定義ファイルの「c4web.common.connection_pool.timeout」の設定が1,800(秒)の場合は,Webサーバ側のコネクションタイムアウトの設定を3,600(秒)以上に設定してください。Webサーバ側のコネクションタイムアウトの設定方法を次に示します。

(a) Hitachi Web Serverの場合

httpsd.confのKeepAliveTimeoutディレクティブに,共通定義ファイルの「c4web.common.connection_pool.timeout」で設定した時間の倍以上の時間を設定します。KeepAliveTimeoutディレクティブに設定できる値の範囲は0~65,535です。0を設定すると,通信するたびにコネクションが解放されます。なお,Hitachi Web Serverを利用する場合,共通定義ファイルの「c4web.common.connection_pool.timeout」には,32,762以下の値を設定してください。

(b) インプロセスHTTPサーバの場合

簡易構築定義ファイルで,論理J2EEサーバの<configuration>タグ内のwebserver.connector.inprocess_http.persistent_connection.timeoutパラメタに,共通定義ファイルの「c4web.common.connection_pool.timeout」で設定した時間の倍以上の時間を設定します。webserver.connector.inprocess_http.persistent_connection.timeoutパラメタに設定できる値の範囲は0~3,600です。0を設定すると,コネクションの解放処理は行われません。なお,共通定義ファイルの「c4web.common.connection_pool.timeout」で設定した値が1,800より大きい場合は,webserver.connector.inprocess_http.persistent_connection.timeoutパラメタに0を設定してください。

(c) IISの場合

設定手順を次に示します。

  1. IISマネージャを起動します。
  2. 左側のツリービューの[Webサイト]を右クリックし,プロパティを選択します。
  3. [Webサイト]タブ内の「接続のタイムアウト」に,共通定義ファイルの「c4web.common.connection_pool.timeout」で設定した時間の倍以上の時間を設定します。
    「接続のタイムアウト」に設定できる値の範囲は,0~2,147,483,647です。

(4) 最大コネクション数

各コネクションプールに生成できるコネクションの合計値である最大コネクション数を変更できます。例えば,コネクションプールA,B,Cがあり,最大コネクション数に10(本)を設定した場合,コネクションプールA,B,Cの三つに生成できるコネクション数の合計が10(本)になります。共通定義ファイルの「c4web.common.connection_pool.max_connection」で変更します。デフォルトは,150(本)です。