[pgsql-jp: 33748] Re: 北海道支部勉強会「 pgpool 」

Tatsuo Ishii t-ishii @ sra.co.jp
2004年 7月 23日 (金) 12:51:01 JST


石井です.

> >   これご推測通りです.unix domain socketにした方がかなりいいです.です
> >   から,同じboxの中に,Apache+PHP+pgpoolを入れたセットをたくさん用意し
> >   てその前に負荷分散装置を置くと,性能面で有利になるだけでなく,可用性
> >   の向上にもつながると思います.
> >
> 
> そうですよね。そう思って、そういう構成もしてるんですが
> 複数のpgpoolから、一つのPostgreSQLへアクセスすると
> PostgreSQLのコネクションが不足してしまいます。
> PostgreSQLのコネクション数を、増やしても、性能は下がりますよねえ。
> かといってpgpoolのコネクション数を減らすのも、なんだかなあですし。

そんなことはないと思いますよ.たとえばApache/PHP/pgpoolを入れたWebサー
バが10台あり,PostgreSQLはコネクション数100で最大の性能が得られるとし
ます.このケースでは,それぞれのpgpoolのnum_init_childrenを10に設定し
ておけばシステム全体で最大の性能が得られるはずです.
# 単純化のために,PostgreSQLへのアクセスユーザ/DB名のペアは1種類しかな
# いものとしています.

ApacheのMaxClientsの設定が10より多い場合,pgpoolへの接続で待たされる
Apache プロセスも出てきますが,PostgreSQLの性能が出ていれば,結果とし
て待機中のApacheプロセスがよりすばやく処理されるようになるので,ユーザ
から見たレスポンスはむしろよくなるはずです.

> また、複数のDBクラスタのある、PostgrSQLサーバに対して
> pgpool経由でアクセスすると、pgpoolは、DBクラスタ単位に
> コネクション確保するので、やはり、コネクション数が不足してしまいます。

よくわからなかったのですが,もしかして「DBクラスタ」ではなくて,単に
「DB」ですか?
--
Tatsuo Ishii



pgsql-jp メーリングリストの案内