WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 オペレーティング・システム: AIX, HP-UX, Linux, Solaris, Windows

接続プール設定

管理コンソールの「接続プール・プロパティー (Connection Pool Properties)」パネルで接続プールのさまざまなプロパティーを変更することができます。

目的

「接続プール設定 (Connection Pool Settings)」パネルを使用して、接続プールに一般プロパティー値を割り当てます。 タイムアウト、パージ・ポリシーおよび接続制限などのプロパティーを編集することができます。

「構成」タブ

接続タイムアウト (Connection timeout)

接続要求がタイムアウトになり、ConnectionWaitTimeoutException がスローされるまでの間隔を秒数で指定します。

この値は、通常は特定の接続プールの接続数が最大値に達したために、 空きプールに使用可能な接続がなく、新規の接続を作成できないときに、接続要求が待機する秒数を示します。例えば、「接続タイムアウト (Connection Timeout)」が 300 に設定されている場合、最大数の接続がすべて使用中であると、プール・マネージャーは物理接続が使用可能になるまで 300 秒間待機します。この時間内に物理接続が使用可能にならないと、プール・マネージャーは ConnectionWaitTimeout 例外を開始します。通常、getConnection() メソッドを再試行することは意味がありません。 待ち時間を長くする必要がある場合は、「接続タイムアウト (Connection Timeout)」設定をより高い値にする必要があります。 アプリケーションによって ConnectionWaitTimeout 例外がキャッチされた場合、管理者は、アプリケーションの予期されている接続プールの使用法を検討し、 接続プールとデータベースを適宜、調整する必要があります。

「接続タイムアウト (Connection Timeout)」が 0 に設定されている場合、プール・マネージャーは、接続が使用可能になるまで必要なだけ待機します。 これが発生するのは、アプリケーションがトランザクションを完了し、接続をプールに戻したときか、 または接続数が「最大接続数 (Maximum Connections)」の値よりも下がって、新規の物理接続が作成できるようになったときです。

「最大接続数 (Maximum Connections)」を 0 に設定すると、無限数の物理接続を使用可能にするため「接続タイムアウト (Connection Timeout)」値は無視されます。
データ・タイプ 整数
単位
デフォルト 180
範囲 0 から最大 int
最大接続数 (Maximum connections)

このプールに作成できる物理接続の最大数を指定します。

これらは、バックエンド・リソースへの物理接続です。 この数にいったん達すると、新規の物理接続は作成されず、リクエスターは、現在使用している物理接続がプールに戻るか、ConnectionWaitTimeout 例外が出されるまで待機します。

例えば、「最大接続数 (Maximum Connections)」値が 5 に設定されていて、5 つの物理接続が使用中である場合、プール・マネージャーは「接続タイムアウト (Connection Timeout)」に指定された時間、物理接続が解放されるのを待ちます。

「最大接続数 (Maximum Connections)」が 0 に設定されていると、接続プールは無限に許可されます。これには、「接続タイムアウト (Connection Timeout)」値が無視されるという副次作用もあります。

複数のスタンドアロンのアプリケーション・サーバーが同じデータ・ソースを使用している場合、それぞれのアプリケーション・サーバーに 1 つのプールがあります。複製を使用した場合、それぞれの複製ごとに 1 つのデータ・プールが存在します。 データベースの最大接続数を構成するときに、データ・プールの数を知っておくことが重要です。

Tivoli Performance Viewer を使用して、プール内の接続の最適な数を検索することができます。同時に待っている数が、0 より大きいのに、CPU のロードが 100% 近くではない場合は、接続プール・サイズの増加を検討してください。 通常のワークロードで「使用パーセント (Percent Used)」の値が、一貫して低い場合は、プール内の接続の数を減少させることを検討してください。
データ・タイプ 整数
デフォルト 10
範囲 0 から最大 int
最小接続数 (Minimum connections)

保持する物理接続の最小数を指定します。

接続プールのサイズが最小接続プール・サイズと同じか、 小さい場合は、「未使用タイムアウト (Unused Timeout)」スレッドは物理接続を廃棄しません。 ただし、プールは最小接続プール・サイズを保持するだけのために、新規の接続を作成しません。また、「経過時間タイムアウト (Aged Timeout)」の値を設定すると、期限切れ経過時間のある接続は、最小プール・サイズの設定に関わらず廃棄されます。

例えば、「最小接続数 (Minimum Connections)」の値が 3 に設定されている場合、1 つの物理接続が作成されると、「未使用タイムアウト (Unused Timeout)」スレッドはその接続を廃棄しません。同じトークンによって、このスレッドは、「最小接続数 (Minimum Connections)」設定に到達するように、自動的にさらに 2 つの物理接続を作成することはありません。
データ・タイプ 整数
デフォルト 1
範囲 0 から最大 int
リープ時間 (Reap time)

プール保守スレッドの実行間隔を秒数で指定します。

例えば、「リープ時間 (Reap Time)」が 60 に設定されている場合、プール保守スレッドは 60 秒毎に実行されます。「リープ時間 (Reap Time)」の間隔は 「未使用タイムアウト (Unused Timeout)」および「経過時間タイムアウト (Aged Timeout)」設定の正確性に影響します。間隔が短くなるほど、正確性は増します。 プール保守スレッドが使用可能に設定されている場合は、「未使用タイムアウト (Unused Timeout)」および「経過時間タイムアウト (Aged Timeout)」の値よりも小さい「リープ時間 (Reap Time)」値を指定してください。プール保守スレッドを実行すると、「最小接続数 (Minimum Connections)」に指定された接続数になるまで「未使用タイムアウト (Unused Timeout)」に指定された時間値よりも長い間未使用になっている接続はすべて廃棄します。 また、プール保守スレッドは、「経過時間タイムアウト (Aged Timeout)」に指定された時間値よりも長い時間アクティブになっている接続もすべて廃棄します。

「リープ時間 (Reap Time)」の間隔も、パフォーマンスに影響します。間隔を短くすると、プール保守スレッドはより頻繁に実行されますが、パフォーマンスが低下します。

プール保守スレッドを使用不可にするには、「リープ時間 (Reap Time)」を 0 に設定するか、または「未使用タイムアウト (Unused Timeout)」と「経過時間タイムアウト (Aged Timeout)」の両方を 0 に設定します。 プール保守スレッドを使用不可にするためには、「リープ時間 (Reap Time)」を 0 に設定することをお勧めします。 この場合、「未使用タイムアウト (Unused Timeout)」と「経過時間タイムアウト (Aged Timeout)」は無視されます。ただし、「未使用タイムアウト (Unused Timeout)」と「経過時間タイムアウト (Aged Timeout)」が 0 に設定されると、プール保守スレッドは実行されますが、非ゼロのタイムアウト値のためにタイムアウトになる物理接続のみが廃棄されます。
データ・タイプ 整数
単位
デフォルト 180
範囲 0 から最大 int
未使用タイムアウト (Unused timeout)

未使用またはアイドルの接続が廃棄される間隔を秒数で指定します。

パフォーマンスを最適化するためには、「未使用タイムアウト (Unused Timeout)」の値を「リープ・タイムアウト (Reap Timeout)」の値よりも高く設定してください。未使用の物理接続は、現在の接続数が「最小接続数 (Minimum Connections)」の設定を超えた場合のみ廃棄されます。 例えば、未使用タイムアウト値が、120 に設定されており、プール保守スレッドが使用可能になっている (リープ時間は 0 ではない) 場合は、2 分間未使用の物理接続が廃棄されます。このタイムアウトの正確性は、パフォーマンスと同様に、「リープ時間 (Reap Time)」の値によって影響を受けることに注意してください。詳しくは、「リープ時間 (Reap Time)」を参照してください。

データ・タイプ 整数
単位
デフォルト 1800
範囲 0 から最大 int
経過時間タイムアウト (Aged timeout)

物理接続が廃棄される間隔を秒数で指定します。

「経過時間タイムアウト (Aged Timeout)」を 0 に設定することにより、アクティブな物理接続をプール内に無制限に残すことができます。 パフォーマンスを最適化するためには、「経過時間タイムアウト (Aged Timeout)」の値を「リープ・タイムアウト (Reap Timeout)」の値よりも高く設定してください。例えば、「経過時間タイムアウト (Aged Timeout)」の値を 1200 に設定し、「リープ時間 (Reap Time)」の値が 0 でない場合は、1200 秒間 (20 分) 存在している物理接続がプールから廃棄されます。このタイムアウトの正確性は、パフォーマンスと同様に、「リープ時間 (Reap Time)」の値によって影響を受けることに注意してください。 詳しくは、「リープ時間 (Reap Time)」を参照してください。

データ・タイプ 整数
単位
デフォルト 0
範囲 0 から最大 int
パージ・ポリシー (Purge policy)

失効接続または致命的接続エラーが検出されたときの、接続のパージ方法を指定します。

有効値は次のとおりです。
  • EntirePool: プール内のすべての接続が失効とマークされます。 使用中でない接続は即時にクローズされます。使用中の接続はクローズされ、 その接続に次回の操作が行われたときに失効接続例外が発行されます。それ以降、アプリケーションから getConnection() 要求があると、データベースに新規接続がオープンされます。このパージ・ポリシーを使用する場合、プール内の失効していない一部の接続が不必要にクローズされる可能性があります。 ただし、これはめったに起こりません。ほとんどの場合、パージ・ポリシーは EntirePool が最適の選択です。
  • FailingConnectionOnly: 失効接続の原因となった接続のみがクローズされます。 この設定は、有効な接続が不必要にクローズされる可能性を除去しますが、アプリケーション面からのリカバリーをより複雑にします。 現在失敗している接続だけがクローズされるため、次回アプリケーションから getConnection() 要求があったときに、同様に失効しているプールから接続が戻されて、 さらに失効接続例外が発生する可能性があります。接続予備テスト機能は、プールされている無効な接続からアプリケーションを分離しようとします。 データベースなどのバックエンド・リソースが停止したときに、 プールされている無効な接続が空きプールに存在する可能性があります。これは、特にパージ・ポリシーが failingConnectionOnly であるときに発生します。この場合、失敗した接続はプールから除去されます。失敗によっては、プール内に残った接続が無効なことがあります。
データ・タイプ ストリング
デフォルト EntirePool
関連タスク
接続プールの一般プロパティーの設定

Reference topic

ご利用条件 | フィードバック (英語のみ)

Timestamp icon最終更新: 5 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\rdep_connpoolsettings.html

(C) Copyright IBM Corporation 2005. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)