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

永橋 文二 bunji @ iris.eonet.ne.jp
2005年 9月 1日 (木) 00:11:42 JST


永橋です。

>石井です.
>
>> 永橋です。
>> 
>> バックエンドコネクションの生成においてサーバーダウンやスイッチ故障等により
>> connectが失敗するケース(タイムアウト)に縮退運転へ移行するのは問題ないのですが
>> タイムアウトとなるなまで時間がかかり(数分)縮退運転へスムーズに移行できない点が
>> 問題と考えます。 (netstatではコネクションのステータスはSYN_SENTが継続)
>> 
>> そこでconnect_inet_domain_socket()でのソケットをNON_BLOCKとして
>> タイムアウト処理を組み込んでみました。
>> 
>> テストでは問題なく動作しています。
>> 
>> 内容の確認をお願いします。
>> 
>> 2.6.3との差分は量が多いので別途石井さんへお送りします。
>
>素朴な疑問ですが,ネットワーク障害でconnectが数分間ブロックするような
>状況では,結局health checkに引っ掛かり,結局縮退するのではないでしょうか?
>もちろん,health checkを向こうにしていたり,間隔が長ければ別ですが.
>
>また,コネクションのタイムアウトを設定したとしても,コネクト後にネット
>ワーク障害を起こし,パケットの送出でブロックしてしまうケースもあると思
>います.
>
>結局このような障害の検出はhealth checkにまかせるのがよいと思うのですが,
>いかがでしょう?
>--
>Tatsuo Ishii

使用しているシステムではクエリを頻繁になげており
health checkは不要であろうと考え health checkの無効設定で
pgpoolを動かしています。

たしかに石井さんのおっしゃるとおりかと思いますが
ただタイムアウトを検出できるところはした方がいいように思います。

以上




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