[pgpool-general-jp: 223] Re: pgpool3.2で高負荷時にエラーが発生する

Kaz Watanabe kaz @ g-k.gr.jp
2007年 7月 24日 (火) 18:30:14 JST


渡辺です。

浅羽さん、再現テストまで実施して頂きありがとうございます!

On Tue, 24 Jul 2007 17:35:19 +0900 (JST), Yoshiyuki Asaba wrote:
> テストプログラムのご提供ありがとうございます。
> 何度か試してみたのですが、再現しませんでした。こちらの症状は 100% 発生
> していますでしょうか?

何度か負荷をかけると発生します。

> child_life_time ではなく、connection_life_time はいかがでしょうか?
> まだデバッグしていないのですが、connection_life_time とのタイミングが
> ちょっと怪しいかなあと推測しています。

なるほど。私も同じ様に考えてconnection_life_timeは当初の300から0に変更
してみたのですがまだ発生しています。

色々試した結果を下記に纏めます。

当初、PostgreSQL側のmax_connectionsがnum_init_children*max_poolより
も小さくなっていました。接続数を調整したところ、発生の頻度はかなり減
りましたがまだ解消はされていない様です。

1〜3のdatabase,userの組み合わせで動作させている状態では安定して動作し
ていますが、database,userを変えて全てのプロセスのスロットが埋まる様な
状況を作ると発生しやすい様に感じます。

DEBUGログを吐く様にして動作させた時の出力を下記に添付しておきます。

---
1028505:Jul 24 16:49:45 xxxxx pgpool: DEBUG: pid 9997: I am 9997 accept 
fd 6
1028506:Jul 24 16:49:45 xxxxx pgpool: LOG:   pid 9997: connection 
received: host=[local]
1028507:Jul 24 16:49:45 xxxxx pgpool: DEBUG: pid 9997: Protocol Major: 
3 Minor: 0 database: postgres user: postgres
1028508:Jul 24 16:49:45 xxxxx pgpool: DEBUG: pid 9997: 
pool_read_message_length: lenghth: 8
1028509:Jul 24 16:49:45 xxxxx pgpool: LOG:   pid 9997: connection 
closed. retry to create new connection pool.
1028510:Jul 24 16:49:45 xxxxx pgpool: ERROR: pid 9997: pool_discard_cp: 
cannot get connection pool for user 文字化け datbase 文字化け
---

お手数をおかけしますが、宜しくお願い致します。

///// ----------------------------------
-O O- g k / Kaz Watanabe(kaz @ g-k.gr.jp)
  -   http://www.g-k.gr.jp/


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