[pgsql-jp: 36698] pgpool使用時のパフォーマンスについて

Denet/m.shintani shintani @ denet.co.jp
2006年 1月 30日 (月) 11:52:35 JST


pgsql-jpの皆様

初めて投稿させて頂きます。新谷と申します。
現在、pgpool-2.7.1を使用してDBのレプリケーションを行っております。

  --------pgpool-2.7.1 (port5432)
  |             postgresマスタ postgresql-8.1.2 (port5433)
  |
  --------postgresセカンダリ postgresql-8.1.2 (port5432)

レプリケーションは問題なく行えているのですが、
pgpoolを使用した際のパフォーマンスが、postgresqlサーバ単体と
比べて50%程度しか出なくて、苦慮しております。

パフォーマンス測定にはpgbenchを使用いたしました。
以下、測定結果例。

(単体)
$ pgbench -h postgresセカンダリ -p 5432 -c 8 -t 1000 bench
scaling factor: 1
number of clients: 8
number of transactions per client: 1000
number of transactions actually processed: 8000/8000
tps = 470.044339 (including connections establishing)
tps = 470.660468 (excluding connections establishing)

(pgpool使用)
$ pgbench -h postgresマスタ -p 5432 -c 8 -t 1000 bench
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 8
number of transactions per client: 1000
number of transactions actually processed: 8000/8000
tps = 177.666937 (including connections establishing)
tps = 177.821534 (excluding connections establishing)

下記URLのITproのサイトなどを見る限りでは、pgpool使用時の
オーバーヘッドは2%まで改善されていると報告されています。
http://itpro.nikkeibp.co.jp/members/ITPro/oss/20040709/147053/

これに比べるとあまりにもパフォーマンスが出ていないので
何か根本的に間違っているような気も致します。

(postgresql)
max_connections = 512
shared_buffers = 2048

(pgpool)
num_init_children = 32
max_pool = 4
replication_mode = true
replication_strict = true
load_balance_mode = true

この件につきまして、ぜひ皆様のご助言を頂けないでしょうか?
何卒、宜しくお願い致します。




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