[pgcluster: 585] Re: ロードバランサに接続できなくなる

mitani mitani @ sraw.co.jp
2004年 11月 1日 (月) 09:24:46 JST


三谷@広島です.

> > もしそうであれば,ClusterDBのmax connextionsを250くらいに増やして試して
> > 頂けませんでしょうか.
> よろしければなぜ250コネクションが必要なのかお教えいただけませんでしょう
> か?
INSERTやUPDATEなどの更新系クエリーのセッションの持ち方の問題なのですが,
ロードバランサで受けたセッションはレプリケーションサーバを経由して,
裏から各クラスタDBに同じ数だけセッションが張られます.

<例えばロードバランサが1本セッションを受けた場合>

               (1)       (1)
              +--->[DB-A]--->[Rep.] -+-+
  (1)         |              (1)     | |
----->[pglb]--+    [DB-B]<-----------+ |
                             (1)       |
                   [DB-C]<-------------+

つまり,ロードバランサがクラスタDB-Aに,50本のセッションを張った場合,
レプリケーションサーバ経由で,DB-BとDB-Cにも50本のセッションが張られます.
それとは別にDB-Bはロードバランサから50本のセッションが張られますし,
DB-Cから(ロードバランサ経由で)50本のセッションが張られる可能性がありま
す.

したがって,更新負荷が高い場合には,各クラスタDBの
max_connectionsの値は,ロードバランサで設定した
各クラスタDBの最大接続数の総和以上にしておく必要があります.

1.1系ではトランザクション以外のセッションは,コネクションプールした
数本のセッションを使うことで,更新系の高負荷時のセッションの問題を
解決しようと思っています.

=============================
三谷 篤<mitani @ sraw.co.jp>
=============================




pgcluster メーリングリストの案内