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