[pgsql-jp: 34776] Re: pgpoolが無応答になる(再度ログ長文)

Kouji Ito kouji @ cty-net.ne.jp
2005年 1月 31日 (月) 23:06:17 JST


伊藤です。
なかなか解決しませんねぇ。

ログ、拝見しました。
pgpoolサーバと、postgresサーバの間は結構コネクションが確立してる
んですね。たしかに、CPUの使用率が100%になっているときがありますね。

これまでの、straceの結果から、pgpoolプログラムは、普通に動いている
と仮定しして、

例えば、
WEB1や、WEB2がpgpoolサーバにすごい短い周期ですごい勢いで
アクセスすれば、pgpoolサーバはあっぷあっぷする様な気もしますが、
pgpoolサーバは、postgreサーバで動いているPostgreSQLと、WEB1,2
の間を取り持つプログラムなので、クライアント(WEB1,2)からの正当な
要求を処理していて、CPUを100%使用しているとすると、postgreサーバは、
pgpoolサーバ以上に重い処理を行っていると考える事ができると思います。

しかし、pgpoolサーバのスペックは、かなりのスペックです。
ネットワークもGigaBitだし、CPUは、Xeonの3G Overです。(しかも、Dual
もしくは、Quadですね。)
このマシンのCPUをかなりの時間100%にするほどのリクエストにpostgreサ
ーバは、素早く応答出来るんでしょうか?
また、WEB1,2は、そんなに沢山のSQLリクエストを生成できるんでしょうか?

ログの採取のお願いばかりで心苦しいのですが、
現象が発生したときの、postgreサーバと、WEB1、WEB2サーバのvmstat
と、pgpoolサーバのWEB1,2側のネットワークに対して、tcpdumpで、誰が
どれくらいの頻度でアクセスを行ってきているかを調べる事は出来ないでし
ょうか?(tcpdumpの結果には、IPアドレスが表示されるのでご注意を。)

また、pgpoolサーバへアクセスを行っているのは、WEB1,2のみでしょうか?
他にもマシンがいて、そのマシン上で動いているプログラムがpgpoolが使用
しているポート番号を使っていて、pgpoolサーバに間違ってアクセスしている
とか、WEB1,2側のクライアント(PosgreSQLにアクセスするプログラム)にバグ
などがあり、すごい勢いで、pgpoolサーバへの接続/切断を繰り返すという
ことはないでしょうか?

上記のvmstatの結果と、tcpdumpの解析結果があれば、今回の現象が、
pgpoolサーバだけの問題なのか、WEB1,2もしくは、postgreサーバの
動きも調査の対象に含める必用があるのかという部分の切り分けが出来るの
ではないかと考えています。






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