接続プーリングとは
接続プーリングは、データベースのクエリを作成するユーザーの接続を管理するための用語です。 多くのユーザーは気づかないかもしれませんが、データベースが存在するアプリケーションサーバーへのアクセスを求めているユーザーが多数いると、サーバーがすべての接続との良好な接続を維持するための膨大な接続がほぼ不可能になる可能性がありますこれらの時間。 接続プーリングを可能にするソフトウェアエンジニアリングにより、サーバーは、クエリを作成する大量の接続に関係なく接続を適切に管理でき、1秒未満の速度でこれらのクエリに応答できます。
接続は、接続プールに含まれる同一の構成である必要があるため、ほとんどのサーバー接続プーリングプログラムでは、異なる接続プールが同時に実行されます。 ユーザーが接続しようとすると、スペースが利用可能な場合、ユーザーは同様の構成のプールに割り当てられます。 使用可能なスペースがない場合、要求はキューに入れられ、使用可能になるとすぐに割り当てられます。 ユーザーは、自分がキューに入っていることに気付かない場合がありますが、単にデータベースのクエリ応答が遅いように見えることに気付く場合があります。 ただし、データベース管理システムのバックオフィスでは、プールをスキャンして、ユーザーが開いている接続を見つけるためのスペースを見つけます。 ほとんどの接続プーリングプログラムには、プールごとの最大ユーザー数と、接続が切断されて可用性がプールに戻される前に接続を非アクティブにできる最小時間設定のセットリストがあります。
接続プールの作成時に、一定数の接続オブジェクトが作成され、プールに追加されます。 プールがアクティブと見なされるには、最小限のオブジェクト数が必要です。 これらの接続オブジェクトは、プールへの接続を結合する可用性シートであり、プール内で許容される最大数まで、必要に応じて作成およびプールに追加できます。 ユーザーがクエリに満足して接続オブジェクトをドロップすると、オブジェクトは接続プールプログラムによってプールに戻され、別のユーザーまたは同じユーザーが戻ったときに使用されます。
接続プーリングの応答時間を遅くする可能性のある要因の1つは、 プールの断片化と呼ばれるものです。 通常、プールの断片化は、統合セキュリティまたは既存のサーバーセットに存在するデータベースが多すぎるために発生します。 ユーザーを認証し、既存の接続プールオブジェクトにキューイングまたは割り当てるデータベース管理システムは、メモリを消費します。また、アクセスのためのより厳密なシステム設計により、データベースが多すぎる問題を解決できます。 多くの接続プーリングプログラムにおけるWindowsベースのプログラムの統合セキュリティシステム設計では、一度にプール内に存在するWindowsベースのユーザーは1人だけである必要があります。 これは、より多くのプールを作成することで解消でき、同時に応答する必要がある追加の要求に対応できます。
接続プールプログラムは、ユーザーが設定された時間を超えてアイドル状態になったこと、または接続が切断されたことを検出すると、接続オブジェクトを無効なオブジェクトとしてプールに返します。 接続が有効なときにサーバーがダウンした場合、接続プールが切断された接続を認識していない場合でも、接続を取り消すことができます。 通常、ActiveX接続プールプログラムは、サーバーの再起動時にこれらの接続のプールをクリアします。