ソフトウェア
中級

プールサイズ(プールサイズ)

DB/スレッド/ワーカーの同時接続上限。PostgreSQL pgbouncer・HikariCP・Node.js pg pool等で設定、適正値はCPUコア数 x 2程度で、過大設定はメモリ圧迫、過小は性能低下を招く。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
pgbouncer
HikariCP
pg pool
並列度

概要

プールサイズとは、データベース接続やスレッド、ワーカーなどの同時接続上限を設定する値です。PostgreSQL の pgbouncer、Java の HikariCP、Node.js の pg pool など、さまざまなミドルウェアで利用されます。
CPU コア数 × 2 を目安に設定することで、メモリの過負荷を防ぎつつ、スループットを最大化できるとされています。過大設定はメモリ圧迫、過小設定は処理遅延を招くため、適切なバランスが重要です。

主な特徴・仕組み

  • 同時接続数の制御:プールサイズは同時に確立できる接続数を限定し、リソース競合を抑制します。
  • スレッドプール:HikariCP ではスレッドプールと接続プールが分離され、各スレッドが複数接続を共有できる設計です。
  • リクエストキュー:プールサイズを超えるリクエストはキューに入れられ、接続が空くまで待機します。
  • CPU コア数との関係:1 コアあたり 2 つの接続を想定し、I/O バウンドの作業を並列化します。
  • メモリ使用量:各接続は約 1–2 MB のメモリを消費するため、プールサイズが大きいほどメモリ負荷が増大します。

スペック/製品比較表

製品名CPU コア数推奨プールサイズメモリ消費 (MB/接続)主要用途備考
Intel Core i9‑13900K24482高負荷 Web サーバ2025年モデル
AMD Ryzen 9 7950X32641.8データ分析2026年リリース予定
NVIDIA RTX 409048962.2GPU‑アクセラレーション次世代
Samsung 990 Pro16321.5SSD 接続プール最新
ASUS ROG Strix X670E‑E Gaming20401.9ゲームサーバ2025年製品

具体例・対応製品

  • PostgreSQL + pgbouncer
    • 例:pgbouncer の pool_size = 20 を設定し、CPU 8 コアのサーバで 16 GB RAM を使用。
  • Java + HikariCP
    • 例:maximumPoolSize = 32、CPU 16 コア、64 GB DDR5‑6000。
  • Node.js + pg pool
    • 例:max = 50、CPU 12 コア、32 GB DDR4‑3200。
  • MySQL + ProxySQL
    • 例:max_connections = 200、CPU 8 コア、16 GB DDR4‑2400。
  • MongoDB + connection pool
    • 例:maxPoolSize = 100、CPU 24 コア、48 GB DDR4‑3600。

自作PCでの選び方・注意点

  • CPU コア数の確認
    • 例:Intel Core Ultra 9 285K は 18 コアで、推奨プールサイズは 36。
  • メモリ容量
    • 1 接続あたり 2 MB を想定し、プールサイズ × 2 MB で必要メモリを算出。
  • ディスク I/O
    • SSD の IOPS が高いほど、接続数を増やしても遅延が抑えられる。
  • ネットワーク帯域
    • 1 Gbps では 10 k 接続で十分だが、10 Gbps であれば 20 k 以上を検討。
  • スレッド数とオーバーヘッド
    • スレッド数が多いほどオーバーヘッドが増えるため、CPU 16 コア以下では 2 × コア数を超えない。
  • メモリページサイズ
    • 64 KB ページサイズを採用した OS では、プールサイズが大きいとページフラグメントが増える。
  • スケーラビリティ
    • 将来のアップグレードを見越し、CPU とメモリを 10 % 余裕で選ぶ。
  • 電力消費
    • 450 W TDP の RTX 4090 を搭載した構成では、電源容量を 650 W 以上に設定。

関連用語との違い

用語定義主な違い
スレッド数同時に実行されるスレッドの数プールサイズは接続数を制御、スレッド数は実行単位
コネクションプール接続の再利用を行う仕組みプールサイズはその上限値
ワーカープールタスクを実行するワーカーの数プールサイズはワーカー数を制御
リソースプールCPU、メモリ、I/O の総合管理プールサイズは接続単位のみ
メモリプールメモリ領域の再利用プールサイズは接続数に対するメモリ使用量を示す

よくある質問(FAQ)

Q1: プールサイズを CPU コア数 × 2 で設定すると、なぜスループットが向上するのですか?
A1: 1 コアが 1 つのスレッドを持ち、2 つの接続を同時に処理できるため、I/O 待ち時間を減らし、CPU の利用率を最大化します。

Q2: 1 接続あたりのメモリ使用量はどのくらいですか?
A2: PostgreSQL の pgbouncer では約 1.5 MB、HikariCP では 2 MB 程度が一般的です。実際の数値はデータベースの設定やクエリの内容により変動します。

Q3: プールサイズを 0 に設定するとどうなりますか?
A3: 0 は無制限を意味し、接続数が無制限に増えるため、メモリが枯渇しやすく、サーバが不安定になる恐れがあります。

まとめ

プールサイズは、同時接続数を制御し、CPU とメモリのバランスを保つための重要なパラメータです。

  • CPU コア数 × 2 をベースに設定し、メモリ消費 を考慮する。
  • 製品ごとの推奨値 を参照し、最新 技術(2025年・2026年のリリース)を踏まえて選択。
  • スレッド数 や I/O バウンド の特性を理解し、次世代 のハードウェアとソフトウェアを組み合わせることで、安定かつ高速なシステムを構築できます。
この記事について
カテゴリーソフトウェア
難易度中級
作成日2026/4/18