Connection Pool
コネクションプールとは、データベース接続を事前に作成して再利用し、頻繁な接続確立のコストを避けるとともに、同時接続数を制御する仕組みである。
目的
データベース接続の管理を最適化し、レイテンシを下げて、接続枯渇を防ぐ。
メカニズム
アプリケーションは起動時に N 個の接続をプールに作成し、リクエストは接続を借りて使用後に返却する。これにより TCP と TLS、認証のハンドシェイクのオーバーヘッドを回避できる。最大接続数、アイドルタイムアウト、ヘルスチェックを設定する。HikariCP や pgbouncer がよく使われる。
ユースケース
- アプリのパフォーマンス改善
- データベース接続の管理
- リソースのプーリング