PostgreSQLには絶対!pgpool-II 2

パラメータを設定する

パラメータを設定する

 pgpool.confの主なパラメータについて説明します。なおこれらのパラメータはすべてpgpoolAdminから設定することが可能です。

 まず、「listen_addresses」について説明します。このパラメータはpgpool-IIがTCP/IPコネクションを受け付けるアドレスをホスト名またはIPアドレスを指定します。

 「*」を指定するとすべてのIPインタフェースからのコネクションを受け付けます。「''」を指定するとTCP/IPコネクションを受け付けません。デフォルト値は「localhost」です。UNIXドメインソケット経由のコネクションは常に受け付けます。このパラメータを変更した時にはpgpool-IIを再起動してください。

 「port」ではpgpool-IIがコネクションを受け付けるポート番号を指定します。デフォルト値は9999です。このパラメータを変更した時にはpgpool-IIを再起動してください。

 「child_life_time」はpgpool-IIの子プロセスの寿命です。アイドル状態になってからchild_life_time秒経過すると、いったん終了して新しいプロセスを起動します。これはメモリーリークそのほかの障害に備えた予防措置です。

 child_life_timeのデフォルト値は300秒、すなわち5分です。0を指定するとこの機能は働きません(起動し続けます)。なお、まだ一度もコネクションを受け付けていないプロセスにはchild_life_timeは適用されません。このパラメータを変更した時には設定ファイルを再読み込みしてください。

パラメータの設定

 「connection_cache」はコネクションをキャッシュするかどうかを設定します。trueならコネクションをキャッシュします。デフォルトはtrueになっています。このパラメータを変更した時にはpgpool-IIを再起動してください。

 「num_init_children」はpreforkするpgpool-IIのサーバープロセスの数です。デフォルト値は32になっています。この値がクライアントが同時に接続できる最大数となります。このパラメータを変更した時にはpgpool-IIを再起動してください。

 「max_pool」はpgpool-IIの各サーバープロセスがキープするPostgreSQLへの最大コネクション数です。pgpool-IIは、ユーザー名、データベースが同じならばコネクションを再利用しますが、そうでなければ新たにPostgreSQLへのコネクションを確立しようとします。

 したがって、ここでは想定されるユーザー名とデータベース名のペアの種類の数だけをmax_poolに指定しておく必要があります。もしmax_poolを使いきってしまった場合は一番古いコネクションを切断し、そのスロットが再利用されます。max_poolのデフォルト値は4です。

 なお、pgpool-II全体としては、num_init_children*max_pool分だけPostgreSQLへのコネクションが張られる点に注意してください。このパラメータを変更した時にはpgpool-IIを再起動してください。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る