コネクションプーリング 【connection pooling】 コネクションプール / connection pool
概要
コネクションプーリング(connection pooling)とは、プログラムがデータベース管理システム(DBMS)へアクセスする際、アクセス要求のたびに接続や切断を繰り返すのではなく、一度形成した接続窓口(コネクション)を維持し続けて使い回す手法。外部のプログラムがデータベースの内容を読み書きする場合、DBMSへ処理を依頼するが、そのためにはデータを送受信するコネクション(connection)の確立を行う必要がある。接続や切断の処理を行うたびに一定の負荷が生じるため、頻繁にアクセスが行われるシステムではこのオーバーヘッドのために性能が劣化する場合がある。
コネクションプーリングを用いると、一度確立されたコネクションは使用後に切断せずコネクションプールと呼ばれる待機場所に移され、次にアクセスする際に呼び出されて再び使われる。コネクションはあらかじめ設定された上限数まで生成されると、それ以上は作られずにプールにある空いたコネクションのみを使用する。
この方式ではコネクション数の上限を設定できるため、多人数が一斉にアクセスする可能性のあるWebシステムなどではコネクションが増えすぎて負荷が高まることを回避することもできる。ただし、プールされたコネクションのためにもメモリ容量などの資源はある程度占有されるため、用途や使用環境によっては却って無駄が増える可能性もある。
(2019.1.10更新)