A.42. 検証タイミング方法の比較

validate-on-matchbackground-validation メソッドのさまざまな側面を比較して、データベース接続の検証の設定に適した方法を判断できます。

次の表には、検証タイミング方法の比較マトリックスが含まれています。

表A.144 検証タイミング方法の比較マトリックス

比較の側面

Validate-on-match メソッド

Background-validation メソッド

信頼性

validate-on-match メソッドは、各データベース接続を使用する直前に検証します。つまり、この検証では、アプリケーションで使用するためにプールからチェックアウトされた接続がテストされます。

background-validation メソッドは、定期的なバックグラウンド検証をしてから、検証された接続を使用するまでの間に接続が失敗する可能性があるので、信頼性が低くなります。

バックグラウンド検証メソッドが頻繁に実行される場合に、検証が行われるのは、アプリケーションで使用するように予約されていないプールでの接続のみを対象とします。つまり、こちらの検証も、使用するためにプールからチェックアウトされた接続がテストされます。

システムの使用、ネットワークのパフォーマンス、および接続の問題のタイミングと範囲に依存するパフォーマンス

長時間アイドル状態のままのシステムのユーザーは、validate-on-match を使用して接続を要求するときに、短いまたは長い遅延が発生する可能性が高くなります。

JDBC 4 検証メカニズムなど、より効率的な検証メカニズムを備えたシステムのユーザーは、validate-on-match を使用すると遅延が少ないことに気付くかもしれません。これは、システムがほとんどアイドル状態でなく、接続がタイムアウトする可能性が低い場合に当てはまります。

プール内のほとんどまたはすべての接続に影響を与える広範なサービス停止の後、validate-on-match が設定されたデータソースのユーザーは、接続を取得する際に遅延が発生する可能性が高くなります。これは、ユーザーが接続を待機しているときに、切断された接続が繰り返し検証され、削除されるためです。

長時間アイドル状態のままのシステムのユーザーは、background-validation を使用して接続を要求するときに、短いまたは長い遅延が発生する可能性が低くなります。

JDBC 4 検証メカニズムなど、より効率的な検証メカニズムを備えたシステムのユーザーは、background-validation を使用すると遅延が少ないことに気付くかもしれません。これは、システムがほとんどアイドル状態でなく、接続がタイムアウトする可能性が低い場合に当てはまります。

プール内のほとんどまたはすべての接続に影響を与える広範な停止の後、background-validation が設定されたデータソースのユーザーは、接続が繰り返し切断され、複数回再試行が行われる可能性が高くなります。

耐障害性のコーディング

アプリケーションによって接続がプールから取得された後でも、任意のタイミングで外部から接続を終了できるため、障害が発生した場合でも、validate-on-match を使用する場合のアプリケーションロジックは変わりません。

validate-on-match を使用すると、切断された接続が発生する可能性が低くなります。これは、validate-on-match が使用前に接続の即時検証を実行するためです。

アプリケーションによって接続がプールから取得された後でも、任意のタイミングで外部から接続を終了できるため、障害が発生した場合でも、background-validation を使用する場合のアプリケーションロジックは変わりません。

background validation を使用すると、接続が切断される可能性が高くなります。





改訂日時: 2024-02-09