[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 メーリングリストの案内