[pgpool-general-jp: 303] Re: Pgpoolのパフォーマンスについて

Yoshiyuki Asaba y-asaba @ sraoss.co.jp
2007年 11月 30日 (金) 16:13:43 JST


浅羽です。

From: Nobuaki Inamura <inamuran36 @ mahikari.or.jp>
Subject: [pgpool-general-jp: 302] Re: Pgpoolのパフォーマンスについて
Date: Thu, 29 Nov 2007 15:33:25 +0900

> > 改善されるかわからないですが、バッファリングしているところで気になると
> > ころがあったので、添付のパッチを適用するといかがでしょうか?
> ありがとうございます。
> 恥ずかしい質問ですが、debianパッケージのソース(3.1)に当てる、ということですよね?
> そうすると、パッケージで管理している意味があまりなくなってしまうので、おそらくソースを
> コンパイルして使っても同じことになりますよね。
> 一先ず3.1のソースを引っ張ってきてやってみます。
> 
> 
> ちなみにこのパッチは、1系の最新版、3.4.1には適用されているものですか?

はい、3.4.1 に適用してください。検索結果が多い場合に効率的にデータをク
ライアント側に返すようにしています。結果が少ない場合は今までと違いはあ
りません。

ただし、まだこちらで負荷テストなどをしていないので、ご注意ください。


> といいますのも、Postgresのパフォーマンスを調べていて、debianパッケージは遅いと書いてあったので、
> 最初のメールの後に、ためしにpgpool3.4.1のソースをコンパイルして動かしてみました。
> (pgpool2にしたかったのですが、ライブラリのバージョンがあわなくてコンパイルできませんでした。)
> そうすると、今まで直DBの6割程度の性能しか出なかったのが、8割程度出るようになりました。
> (単純なSELECT文の場合)

推測になりますが、3.3 から SELECT をレプリケーションさせずに、マスタに
のみ送信するように修正したので、その効果だと思います。


> で、pgbenchを実行したところ、たとえばクライアント10、トランザクション10で実行してみると
> 
> tps = 86.105648 (including connections establishing)
> tps = 135.689997 (excluding connections establishing)
> 
> といった具合に、接続の確立に要した時間を含める/含めないを比べた際に
> かなりの差が出ていました。

手元の環境では上記のように大きな差が出てきませんが、レプリケーションの
場合 2 箇所に接続にいくので、コネクションキャッシュがまだ無い場合(1 回
目)の接続は多少時間がかかる可能性があります。

pgbench -C オプションをつけてトランザクションを実行させると、コネクショ
ンキャッシュによる性能改善を確認することができます。

--
Yoshiyuki Asaba
y-asaba @ sraoss.co.jp


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