7.6. その他の性能考慮点

この節ではその他の性能考慮点を紹介します。

7.6.1. 大規模な群れ問題(Thundering Herd Problem)

num_init_childrenが大きいと、Pgpool-IIプロセスが起こされ、その結果重いコンテキストスイッチが引き起こされる可能性があります。 これによってシステムに高負荷が生じ、システムの全体的な性能を損ないます。 この問題は大規模な群れ問題(Thundering Herd Problem)と呼ばれます。 serialize_acceptを有効にすることによって、この問題を解決できます。 小さなnum_init_childrenでは、serialize_acceptはシステムの性能を低下させる可能性があることに注意してください。 serialize_accept節のガイダンスを参照してください。

7.6.2. ディザスタリカバリ設定

ディザスタリカバリ設定を行う場合、Pgpool-IIとプライマリPostgreSQLサーバから地理的に離れた場所に、もう1台のPgpool-IIとスタンバイPostgreSQLサーバを設置することが考えられます。 そしてスタンバイサーバ側に近いクライアントは、読み出し専用のクエリに関してはスタンバイサーバに近いPgpool-IIにアクセスしたいとします。 しかしスタンバイ側のPgpool-IIは、内部的にシステムカタログへの問い合わせをプライマリPostgreSQLサーバに発行することがあり、性能が低下してしまいます。 この問題を回避するために、relcache_query_targetを使用して、そうした問い合わせをスタンバイサーバ側に送るようにすることができます。 詳細はrelcache_query_targetをご覧ください。