[pgpool-general-jp: 106] Re: pgbenchで接続数を増やすとデッドロックする

Kaz Watanabe kaz @ g-k.gr.jp
2007年 4月 11日 (水) 18:54:01 JST


渡辺です。

石井さん、返信ありがとうございます。

下記の件理解出来ました!試験用のphpのスクリプトを書いてみます。

週末に機材が届くのでこれから、レプリケーションやロードバランス等
色々実験していく予定です。何かありましたらまた宜しくお願い致しま
す。

# pgpool-IIもテストしてみる予定です。

On Wed, 11 Apr 2007 13:13:46 +0900 (JST), Tatsuo Ishii wrote:
> 石井です.
> 
>> 初めまして、渡辺と申します。
>> 
>> 先日から pgpoolを使用した環境を構築し動作検証を実施しております。
>> で、色々と調べてみたのですが、下記の様な現象が発生してしまい原因を
>> 特定出来ていません。
>> 
>> 動作環境
>> server1
>> 	pgpool		port 5432
>> 	postmaster	port 5433
>> 
>> pgpool.confはpgpool.conf.sampleをコピーし下記の設定のみ変更して起動
>> port = 5432
>> backend_port = 5433
>> 
>> この環境で下記の様に num_init_childrenより大きいコネクション数を指定する
>> と...
>> 
>> $ pgbench -n -p 5432 -C -U postgres -c 33 -t 1000 bench
>> 
>> pgpoolのプロセスが、下記の様な状態になりデッドロックしてしまいます。
>> 
>> 31408 ?        S      0:00 pgpool: bench postgres [local] idle in 
>> transaction
>> 
>> PostgreSQLのmax_connections は100になっています。
>> 
>> READMEを読むと
>>>    なお,pgpool全体としては,num_init_children*max_pool 分だけ
>>>    PostgreSQLへのコネクションが張られる点に注意してください.
>> 
>> と書かれているので、32x4コネクションは普通にさばけるのではと考えているの
>> ですが正しいでしょうか?
> 
> 正しいです.
> 
>> 何か回避策や設定ミス等あれば、お教え頂けるとありがたいです。
>> よろしくお願い致します。
> 
> テスト方法に問題があります.
> 
> pgbenchは,最初に-c分だけコネクションを張ってからでないと処理が先に進
> まないので,このような状態になります.
> 
> このようなテストであれば,README.euc_jpにあるような,apache+PHPのテス
> トがお薦めです.
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> 
///// ----------------------------------
-O O- g k / Kaz Watanabe(kaz @ g-k.gr.jp)
  -   http://www.g-k.gr.jp/


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