コンテンツへスキップ
uencoder

Connection Pool

コネクションプールとは、データベース接続を事前に作成して再利用し、頻繁な接続確立のコストを避けるとともに、同時接続数を制御する仕組みである。

目的

データベース接続の管理を最適化し、レイテンシを下げて、接続枯渇を防ぐ。

メカニズム

アプリケーションは起動時に N 個の接続をプールに作成し、リクエストは接続を借りて使用後に返却する。これにより TCP と TLS、認証のハンドシェイクのオーバーヘッドを回避できる。最大接続数、アイドルタイムアウト、ヘルスチェックを設定する。HikariCP や pgbouncer がよく使われる。

ユースケース

  • アプリのパフォーマンス改善
  • データベース接続の管理
  • リソースのプーリング

関連ツール

References