[pgpool-general-jp: 17] Re: childprocessとconnection

Yoshiyuki Asaba y-asaba @ sraoss.co.jp
2006年 10月 17日 (火) 17:56:17 JST


浅羽です。

一部嘘が混っていました。

From: Yoshiyuki Asaba <y-asaba @ sraoss.co.jp>
Subject: [pgpool-general-jp: 16] Re: childprocessとconnection
Date: Tue, 17 Oct 2006 16:04:04 +0900 (JST)

> > 認識2
> >   接続を許可されたクライアントは、connection_poolの max 値まで、
> >   同時に、SQL操作を行う事ができるが、最大値を超えた場合は、処理を終えた
> >   一番古いconnection が再利用される。
> 
> ちょっと、ここが違うかもしれません。max_pool は各プロセスがキャッシュ
> を持つことができる最大の数になります。キャッシュを識別する情報は
> 
>   1. プロトコルバージョン
>   2. 接続ユーザ名
>   3. データベース名
> 
> になります。この 3 つの情報が一致した場合に、キャッシュされたコネクショ
> ンを再利用することができます。言い換えると、ユーザ名やデータベース名が
> 頻繁に変わるような接続があるシステムの場合、pgpool によるコネクション
> キャッシュがあまり有効になりません。
> 
> 例えば、max_pool = 4 の場合、
> 
>   dbname=A, username=X, version=30
>   dbname=B, username=X, version=30
>   dbname=C, username=X, version=30
>   dbname=C, username=Y, version=30
> 
> というキャッシュを 1 プロセスに持つことができます。これ以上の異なる接
> 続が来ると
> 
>   "connection cache is full."
> 
> というエラーになります。その場合には max_pool を増やすか、
> connection_life_time を適当な値に設定する必要があります。

ここは嘘でした。
一番古いキャッシュを捨てて、キャッシュを作りなおします。

--
Yoshiyuki Asaba
y-asaba @ sraoss.co.jp


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