7.1. 必要リソース

Pgpool-IIはさほど多くのリソースを消費しません。 しかし、最低限の必要リソースはあります。 この節ではそれを順番に説明します。

7.1.1. 必要メモリ

Pgpool-IIでは2種類のメモリの利用方法があります。 共有メモリとプロセスのプライベートメモリです。 前者はPgpool-IIメインサーバプロセスが起動されたときに確保され、Pgpool-II全体が終了するまで解放されません。 後者は各々のPgpool-II子プロセス内で確保され、そのプロセスが終了した時に解放されます。

7.1.1.1. 必要共有メモリ

必要共有メモリの計算式を示します。

      必要共有メモリ(メガバイト) = 10 + num_init_children * max_pool * 0.02
     

例えばnum_init_children = 32 (デフォルト値です)で、max_pool = 4 (デフォルト値です)ならば、必要メモリは10 + 32 * 4 * 0.02 = 12.6 MBです。

共有メモリでインメモリクエリキャッシュ(詳細は項5.13参照)を使う予定があるなら、余分なメモリが必要です。 必要メモリ量に関してはmemqcache_total_sizememqcache_max_num_cacheを参照してください。

ただしPgpool-II 4.1以降では、インメモリクエリキャッシュが有効になっていなくても、enable_shared_relcacheが有効なら(デフォルトで有効です)、追加で128MBの共有メモリを使用することに注意してください。

7.1.1.2. 必要プロセスメモリ

必要プロセスメモリの計算式を示します。

      合計必要プロセスメモリ(メガバイト単位) = num_init_children * 0.16
     

たとえばnum_init_children = 32 (デフォルト値です)なら、5.2 MBのメモリが必要です。 なお、このメモリ量はPgpool-II子プロセス起動時の最低限の必要メモリで、プロセスが稼働するにしたがって、通信データの大きさなどに応じて更に使用するメモリが増えていきます。 実際にPgpool-IIを動かして、必要なメモリ量がどのくらいになるのか実運用に入る前に検証することをお勧めします。

7.1.2. 必要ディスク

Pgpool-IIはさほど多くのディスク領域を消費しません。 また、Pgpool-IIによるディスクI/O量は少ないため、高速ディスクの必要もありません。 ただし、多くのログを生成する計画があるなら、そのためのディスク領域が必要です。