[pgpool-general-jp: 1633] pgpool-IIの処理性能について

北村由香 kitamura @ ryobi.co.jp
2020年 9月 1日 (火) 13:37:46 JST


はじめまして、お世話になります。
北村と申します。

現在Pgpool-IIの検証を行っているのですが、アプリケーションを
postgreSQLに直接接続した場合とPgpool-IIに接続した場合で
性能差が出ており、Pgpool-II経由の方が約6倍処理時間がかかっています。

この差が妥当な値なのか、チューニングにより性能改善が見込める
可能性があるのか、ご教示いただきたくメールさせていただきました。

【検証環境】
 ○PostgreSQL 11
  - RHEL 7に構築
  - 2台構成で非同期ストリーミングレプリケーションを構築
  - スタンバイサーバは遠隔地に配置している
 ○Pgpool-II 4.0.2
  - RHEL 7に構築(DBサーバとは別サーバ)
  - コネクションプーリングは使用しない(connection_cache = off)
   (javaのコネクションプーリングを使用しているため)
  - DBプライマリにアクセスしたいため、
   負荷分散は行わない(load_balance_mode = off)

【検証内容】
 1トランザクション内で大量SQL(SELECT文やINSERT文)を実行する
 アプリケーション(java)について、DB直接接続の場合と
 Pgpool接続の場合で、処理時間を測定。

 DB直接接続:全体処理時間00:00:30秒(1SQLあたり約3ミリ秒)
 Pgpool接続:全体処理時間00:02:58秒(1SQLあたり約19ミリ秒)
   ⇒pgpool接続の方が1SQLあたり約16ミリ秒遅い

【ご相談事項】
 ・pgpoolを経由すると、1SQLあたりの処理時間が多く(約6倍)
  かかっているのですが、これは妥当なものなのでしょうか?
 ・Pgpoolで負荷分散とコネクションプールを行わない前提で、
  Pgpoolのチューニングにより性能改善策などは考えられますでしょうか?

何かお気づきの点や設定の勘所等をご教示いただければ幸いです。
よろしくお願いいたします。




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