管理コンソールの「接続プール・プロパティー (Connection Pool Properties)」パネルで接続プールの各種のプロパティーの値を変更できます。
接続要求がタイムアウトになり、ConnectionWaitTimeoutException がスローされるまでの時間間隔 (秒) を指定します。
この値は、通常、特定接続プールの接続数が最大値に達したために、空きプール内に使用可能な接続がなく、また新規接続が作成できない時に、接続要求が待機する秒数を示します。 例えば、接続タイムアウトが 300 に設定されていて、最大数の接続がすべて使用中の場合は、プール・マネージャーは、物理接続が使用可能になるのを 300 秒待機します。 物理接続がこの時間内に使用可能にならない場合は、プール・マネージャーが ConnectionWaitTimeout 例外を開始します。getConnection() メソッドを再試行しても、通常は効果がありません。待機時間を長くする必要がある場合、接続タイムアウトの設定値を増加させる必要があります。 ConnectionWaitTimeout 例外がアプリケーションによってキャッチされた場合、 管理者は予期されるアプリケーションの接続プールの使用法を確認し、それに従って接続プールとデータベースを調整する必要があります。
接続タイムアウトが 0 に設定されている場合、 プール・マネージャーは、接続が使用可能になるまで必要なだけ待機します。 これは、アプリケーションがトランザクションを完了して接続をプールに戻す時、または接続数が最大接続値を下回り、新規物理接続の作成が許可された時に起こります。
プロパティー | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 180 |
範囲 | 0 から最大の整数 |
このプールに構築できる物理接続の最大数を指定します。
これらは、バックエンド・リソースへの物理接続です。一度この数値に到達すると、新規の物理接続は作成されず、 要求側は、現在使用中の物理接続がプールに戻されるか、 ConnectionWaitTimeout が発行されるまで待機します。
例えば、最大接続数が 5 に設定されていて、5 つの物理接続が 使用中の場合、プール・マネージャーは、接続タイムアウトに指定された 時間、物理接続が空くのを待機します。
最大接続数が 0 に設定されていると、接続プールは無限に増加できます。 これはまた、接続タイムアウト値が無視されるという副次作用を持ちます。
複数の独立のアプリケーション・サーバーが同じデータ・ソースを使用している場合、それぞれのアプリケーション・サーバーごとに 1 つのプールがあります。 クローンを使用する場合、各クローンに対して 1 つのデータ・プールが存在します。 データ・プール数を知ることは、データベースの最大接続数を構成する場合に重要となります。
プロパティー | 値 |
---|---|
データ型 | 整数 |
デフォルト | 10 |
範囲 | 0 から最大の整数 |
維持する物理接続の最小数を指定します。
接続プールのサイズが最小接続プール・サイズと同じかまたはそれより小さい場合、「未使用タイムアウト」スレッドは物理接続を破棄しません。 しかし、プールは単独では接続を作成して最小接続プール・サイズを維持することを保障しません。 また、経過タイムアウトの値を設定すると、最小プール・サイズ設定にかかわらず、経過時間の有効期限が切れた接続は破棄されます。
プロパティー | 値 |
---|---|
データ型 | 整数 |
デフォルト | 1 |
範囲 | 0 から最大の整数 |
プール維持スレッドの実行とその次の実行との間隔 (秒) を指定します。
例えば、リープ時間が 60 に設定されていると、プール維持スレッドは 60 秒ごとに実行されます。 リープ時間の間隔は、未使用タイムアウトと経過タイムアウトの設定値の精度に影響を与えます。 間隔が短いほど精度は高まります。 プール維持スレッドが使用可能である場合は、 リープ時間値を、未使用タイムアウトや経過タイムアウトの値より少なく設定してください。 プール維持スレッドが実行されると、 未使用タイムアウトで指定された値より長い時間使用されていない接続をすべて廃棄します。 廃棄は、最小接続数で指定された接続数になるまで行われます。プール維持スレッドは、 経過タイムアウトで指定された時間値よりも長い間アクティブである接続も、すべて廃棄します。
リープ時間間隔も、パフォーマンスに影響を与えます。間隔が短いということは、 プール維持スレッドの実行回数が増え、パフォーマンスが低下することを意味します。
プロパティー | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 180 |
範囲 | 0 から最大の整数 |
未使用またはアイドルの接続が廃棄されるまでの時間 (秒) を指定します。
パフォーマンスを最適化するためには、未使用タイムアウト値を、リープ時間より高く設定してください。 未使用の物理接続が廃棄されるのは、接続の現行数が、 最小接続数の設定値を超える場合に限られます。例えば、未使用タイムアウト値が 120 に設定され、 プール維持スレッドが使用可能 (リープ時間が 0 でない) である場合、 2 分間未使用の状態が続いた物理接続は廃棄されます。 パフォーマンスと同様、このタイムアウトの精度もリープ時間値の影響を受けることに注意してください。詳しくは、『リープ時間』を参照してください。
プロパティー | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 1800 |
範囲 | 0 から最大の整数 |
物理接続が廃棄されるまでの時間 (秒) を指定します。
経過タイムアウトを 0 に設定すると、 アクティブな物理接続を無制限にプールに残しておくことができます。パフォーマンスを最適化するには、経過タイムアウト値を、リープ時間より高く設定してください。 例えば、経過タイムアウト値を 1200 に設定し、リープ時間の値が 0 でない 場合は、1200 秒間 (20 分間) 存在し続けている物理接続はプールから廃棄されます。 パフォーマンスと同様、このタイムアウトの精度もリープ時間値の影響を受けます。 詳しくは、『リープ時間』を参照してください。
プロパティー | 値 |
---|---|
データ型 | 整数 |
単位 | 秒 |
デフォルト | 0 |
範囲 | 0 から最大の整数 |
不整合な接続または致命的接続エラーが検出されたときに、 接続をパージする方法を指定します。
プロパティー | 値 |
---|---|
データ型 | ストリング |
デフォルト | EntirePool |
(c) Copyright IBM Corporation 2005, 2006. All rights reserved.
(c) Copyright IBM Japan 2006
このインフォメーション・センターでは、Eclipse テクノロジー (http://www.eclipse.org) が採用されています。