[pgsql-jp: 33706] Re: pgpool の接続が増え続けます

Imono Kazuo imonomail @ nbsystem.co.jp
2004年 7月 20日 (火) 13:36:25 JST


芋野です。
了解いたしました。いろいろありがとうございました。
これでレプリケーションも含めて使い込んでみます。
ところで新しい libpq.dll ってどこにあるんでしょう。
PostgreSQL のソースに含まれているようですが
これを、例えば、bcc32.mak でも使ってコンパイル
すれば出来るものなんでしょうか。その場合日本語
対応等に問題はないものでしょうか。



----- Original Message ----- 
From: "Tatsuo Ishii" <t-ishii @ sra.co.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Tuesday, July 20, 2004 12:38 PM
Subject: [pgsql-jp: 33705] Re: pgpool の接続が増え続けます


> 石井です.
>
> > 芋野です。
> > 早速以下部分を修正した 2.0.5 で試してみました。
> >
> > [PostgreSQL、pgpool 共に同一PC]
> >
> > 例1) CSE、及び、libpq.dll を使った自作アプリのみで行った場合
> >     起動後終了すると postgre の接続は開放される。繰り返してもOK。
> >     次々同じDB、ユーザーでつないでゆくとnum_init_children に達した
> >     後は反応が返ってこない。他の接続を一つでも開放すると接続さ
> >     れる。これは違うDBを交えても同じ。
> >
> > 例2) ODBC接続を用いた自作アプリのみで行った場合
> >     起動後終了しても postgre の接続は維持されたまま。
> >     その後同じDB,ユーザーで起動しても接続は増えない。(再利用?)
> >     次々同じDB、ユーザーでつないでゆくとnum_init_children に達した
> >     後は反応が返ってこない。他の接続を一つでも開放すると接続さ
> >     れる。これは違うDBを交えても同じ。
> >
> > [PostgreSQL が別PC]
> >     上記の場合と同じでした。
> >
> > これらの結果を踏まえて以下の諸点につき質問させてください。
> >
> > 1.例1)の場合アプリを終了するとその都度接続は開放されますが
> >     これはいわゆる「コネクションプール」機能が働いていないという
> >     ことなんでしょうか。
>
> はい,そうなります.その理由ですが,先のメールにも書きましたが,これは
> お使いのlibpq.dllにバグがあるからです.このバグが直っているもっと新し
> いlibpq.dllを使えばコネクションプール機能が動作するようになるはずです.
>
> > 2.どちらの例もそうなのですが、num_init_children に達するとそれ以上
> >     接続されず、待たされているようなのですがこれは本来の動きなの
> >     でしょうか。
>
> はい,仕様通りです.pgpoolはコネクション数を魔法のように増やすツールで
> はありません.比較的短いセッションが多数存在するときに,それらをキュー
> イングするすることによって,見掛け上多数の接続が使えるように見せかける
> ものです.pgpoolに限らず,JDBCのコネクションプールでも同じような動作に
> なっているはずです.
> --
> Tatsuo Ishii
>





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