用語集に戻る
プログラミング基礎中級

コネクションプール

コネクションプール

一言で言うと

DB 接続を再利用する仕組み。

もう少し詳しく

一言で言うと

DB 接続を再利用する仕組み。

もう少し詳しく

DB 接続を再利用する仕組み。IT エンジニアリングの現場で頻繁に登場する概念のひとつで、関連する仕組みやベストプラクティスと合わせて理解しておくと応用が利きます。

DB 接続を確立するたびに TCP ハンドシェイク・認証・メモリ確保が走るため、1 リクエストごとに接続を張り直すとアプリのレスポンス速度が大きく低下します。コネクションプールはあらかじめ複数の接続を張ったまま保持しておき、リクエストごとに借り出して返却することで接続コストを削減する仕組みです。Node.js の pg-pool、Java の HikariCP、Python の SQLAlchemy Engine など、ほぼすべての言語で標準的に提供されています。

実務でどう使うか

  • pool size 設定 ── 小さすぎると接続待ちが発生してレスポンスが遅延し、大きすぎると DB サーバーが過負荷になるため、負荷試験で適切な値を見つける必要があります

  • Serverless・Cloudflare Workers 環境 ── 永続接続を維持できないため、PgBouncer などの外部コネクションプーラーを挟む構成が必要になります

  • 接続リークの検出 ── 借り出した接続を返却し忘れると pool が枯渇します。タイムアウト設定やリーク検出オプションを有効にして監視することが重要です
  • 関連する章

    Ch179 で詳しく学べます。

    関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る