[pgpool-general-jp: 49] Re: pgpoolの縮退運転について

koyama mlus @ hintmark.com
2006年 12月 7日 (木) 12:30:27 JST


xeon-koyamaです

>> master_slave_mode = false
> 
> 私の理解も正しいかどうかわかりませんが、
> replication_mode = true 時には master_slave_mode 設定は
> 無視されると理解しています。

間違っているかもしれませんが、私の理解では、
trueを指定した時に、負荷分散の機能が備わると思ってました。

> この時の動作は、
> 
> ・負荷分散はせず、かならずmaster/secondary両方に問い合わせを投げる
> ・STRICTモードなので deadlock_timeout は無効
> ・pgpoolはまずmasterへ問い合わせを投げる
> ・masterへの問い合わせが完了するまでsecondaryに問い合わせは送信しない
> ・masterへの問い合わせが完了後、secondaryに問い合わせを投げる
> ・master/secondaryの実行結果が不一致の場合、縮退運転に入る
> ・secondaryへの問い合わせが完了後、クライアントに結果を返す
> 
> となると考えているのですが、間違っておりますでしょうか?

同じ理解です。


>>> ---- /etc/pgpool.conf
>>> max_pool = 1
> 
> Postgresのプロセスの起動数でセッション数がどのくらいあるか
> 統計情報を取得している関係上、max_poolはあえて1にして
> num_init_childrenを多めにしてます。

これなんですが、私の場合

Connection con;
PreparedStatement pstmt
Statement stmt
ResultSet rs

rs = stmt.executeQuery(sql);
 String dat = null;
while(rs.next) {
  dat = rs.getString(1);
  pstmt.clearParameters();
  pstmt.setString(1,s);
  pstmt.executeUpdate();
}
rs.close;
pstmt.close;
stmt.close;
con.close;

したりします。
間違っているかもしれませんが、この時、pgpoolによるpoolの数が
2つになるのではないかと考えました。

Tomcatをお使いという事なので、DBCPをご利用になられていると思います。
だとすると、Connection Poolは、DBCPが握っているので、接続取得と解放は
DBCP任せですよね。


>> あと、pgpoolの show pool_status の情報もあると良いかもしれません。
> 
> 障害時の show pool_status になります。
> 
拝見しましたが、個別設定値は違いますが、縮退状態は、私の経験したもの
同じです。
rsyncで、secondary と同期させた後でも、翌日にはこうなってしまうのであれば、
ヤバイですよね。

うーん。お役に立てずにすいません。



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