[pgpool-general-jp: 806] max_poolは1 or ユーザ名, データベース名のペア数?
Synap
synap.jp @ gmail.com
2010年 9月 24日 (金) 13:51:21 JST
はじめまして、synapと申します。
現在、pgpool2を設定中で、max_poolの設定値をどうするか悩んでいます。
ご意見頂ければうれしいです。
前提条件
・pgpool2はアプリケーションサーバで動作する。
・アプリケーションからpgpoolへの接続は、Unixドメインソケットに限定され、
Apache MaxClientsなどで、最大同時50に制限する。
・アプリケーションサーバは2台。
トラフィックに応じてスケールアップしていく想定。
・PostgreSQLサーバも2台。
・pgpoolでは、コネクションプーリング、レプリケーションの設定をする。
・ユーザ名, データベース名のペアは2
このような条件で、以下どちらの設定にするか悩んでいます。
1.pgpool num_init_children = 50, max_pool = 2
PostgreSQL max_connections = 200(50*2*2台)
・たぶん正攻法
・コネクションプーリングが有効に働く。
・PostgreSQLへの接続がpgpool上限の2倍(max_pool=2)必要
実際の接続は,num_init_childrenに制限されるので、
PostgreSQLへの接続の最大半分は使用されない。
2.pgpool num_init_children = 50, max_pool = 1
PostgreSQL max_connections = 100(50*1*2台)
・PostgreSQLへの最大接続がpgpoolの最大接続数と一致する。
スケールアップ前提では、リソース設計が行いやすいのかな?
・max_pool = 1としているので、pgpoolからPostgreSQLへの接続数が
最大数まで達している場合は、ユーザ名,DB名の組み合わせにより、
PostgreSQLへの再接続が発生する?
個人的には、コネクションプーリングを多少犠牲にして 2.の設定に
したほうがよいと考えていますが、皆さんはどう考えますか?
pgpool-general-jp メーリングリストの案内