[pgsql-jp: 32772] pgpool 1.0 beta1リリース
Tatsuo Ishii
t-ishii @ sra.co.jp
2004年 4月 13日 (火) 21:44:09 JST
石井です.
> 以下のようなお知らせを以前行いましたが,今回デッドロック対策や0.2系で
> 修正されたTCP/IP接続のパフォーマンス対策を取り込んだ1.0 alpha3をリリー
> スしました.入手先などは
>
> http://www2b.biglobe.ne.jp/~caco/pgpool/
>
> でご覧下さい.
>
> [デッドロック対策について]
>
> 1.0をテストしていて分かったのですが,下記3)の方式ではレプリケーション
> 動作をしていない場合には発生しない「デッドロック」が起こる可能性があり
> ます.しかもこのデッドロックはPostgreSQLの監視対象のデッドロックではな
> いので,自動的なトランザクションアボートで解消されることもありません.
>
> このデッドロックを回避するには,3)をあきらめ,必ずマスタ系の処理が完了
> してからセカンダリ系の処理に移るようにすれば良いのですが,それでは性能
> が犠牲になります.そこで,デッドロック対策が必要な問い合わせのみSQLの
> コメント「/*STRICT*/」を行頭に挿入することによって,性能低下を最小限に
> 押さえられるようにしました(この処理がわずらわしい場合には,すべての問
> い合わせでこのコメントを挿入したのと同じ効果が得られるオプションが利用
> できます).
>
> よろしければお試し下さい.
gpoolのステータスをpsqlから確認できる機能を盛り込み,beta1としてリリー
スしました.つまり,pgpoolがPostgreSQLのフリをするわけですね:-)こんな
感じです.
psql -p 9999 -c 'show pool_status' template1
(データベース名は何でもかまいません).
item | value | description
-----------------------------+-------+------------------------------------------------------------------------
inetdomain | 0 | 1 if accepting TCP/IP connection
port | 9999 | pgpool accepting port number
socket_dir | /tmp | pgpool socket directory
backend_host_name | | master backend host name
backend_port | 5432 | master backend port number
secondary_backend_host_name | | secondary backend host name
secondary_backend_port | 5433 | secondary backend port number
num_init_children | 32 | # of children initially pre-forked
child_life_time | 0 | if idle for this seconds, child exits (not implemented yet)
connection_life_time | 0 | if idle for this seconds, connection closes
max_pool | 4 | max # of connection pool per child
logdir | /tmp | logging directory
backend_socket_dir | /tmp | Unix domain socket directory for the PostgreSQL server
replication_mode | 1 | non 0 if operating in replication mode
replication_strict | 0 | non 0 if operating in strict mode
replication_timeout | 5000 | if secondary does not respond in this milli seconds, abort the session
current_backend_host_name | | current master host name
current_backend_port | 5433 | current master port #
replication_enabled | 0 | non 0 if operating in replication mode
(19 rows)
pgpoolにはフェイルオーバ機能がついているため,現在のマスタが分かりにく
いことがあるのですが,current_backend_host_name+current_backend_portで,
現在のマスタが確認できます.また,replication_enabledが0であれば,レプ
リケーションモードから縮退運転に入っていることも確認できます.
1.0系については,大きな機能の追加はこれ位でで打ち止めにして,安定版を
目指したいと思っています.
--
Tatsuo Ishii
pgsql-jp メーリングリストの案内