From tadashi.1027 @ gmail.com Thu Nov 26 10:22:57 2009 From: tadashi.1027 @ gmail.com (=?ISO-2022-JP?B?GyRCMHAzQBsoQg==?=) Date: Thu, 26 Nov 2009 10:22:57 +0900 Subject: [Ultramonkey-l7-users 250] =?iso-2022-jp?b?GyRCJTslQyU3JWclc0pdO301IUc9JE47fjRWGyhC?= Message-ID: <4B0DD871.4000708@gmail.com> 竹林様 いつもお世話になっております。 稲垣です。 現在、パーシステンスの設定をipで設定しておりますが、 どの程度の秒数パーシステンスを保持するのでしょうか。 また、その時間をカスタマイズすることは可能でしょうか。 もしあればご教授くださいませ。 以上、宜しくお願いいたします。 From n.nakai @ sdy.co.jp Thu Nov 26 12:27:09 2009 From: n.nakai @ sdy.co.jp (=?ISO-2022-JP?B?GyRCQ2Y1bzd7NVcbKEI=?=) Date: Thu, 26 Nov 2009 12:27:09 +0900 Subject: [Ultramonkey-l7-users 251] Re: =?iso-2022-jp?b?bDd2c2QbJEIkRxsoQkVTVEFCTElTSEVEGyRCJTMbKEI=?= =?iso-2022-jp?b?GyRCJU0lLyU3JWclcyQsO0QkQyRGJDckXiQmGyhC?= In-Reply-To: <3e6e93130911250134ge5a9e41sfa6cd6e2992471@mail.gmail.com> References: <3e6e93130911250134ge5a9e41sfa6cd6e2992471@mail.gmail.com> Message-ID: <4B0DF58D.2030009@sdy.co.jp> 三浦様 中居と申します。 お世話になっております。 ESTABLISHEDコネクションはACK(だけじゃないのですが)を返して待ちに入ってい るコネクションになります。 l7directoredを再起動すると解消されるのはvirtualserviceがいったん削除され るため、全てのコネクションが一度closeされてOSで問答無用で閉じていると云 う状況かと思います。 つまりESTABLISHEDのコネクションが残っている状況はパケットロスト等の理由 により待ちの状態に入っているかと思います。 (なのでtcpdumpで見ても何も流れていない状況になります) 結果、下の方に記述してあります、RSTがロストしている状況と同じかと思います。 この場合、パケット待ちに入っているソケットはkernelパラメータの tcp_timeoutの値に従い、ガベージされます。 この値が存在するためにultramonkey自体は使用していないソケットのガベージ をしていません。 このあたりは設計思想によりますがTCP/IPのスタックで実現すべき部分ですので… ですから、経路が不安定な状況でmax_eventsに達してしまう状況の解法としては 1) OSでパケットロストした場合のリトライ回数を減らす 具体的には /proc/sys/net/ipv4/tcp_retries2 の値を減らして(デフォルトは15)、早めにあきらめさせる。 今だとkernelに依存しますが2.6系だと都合190秒ほど待つ設定のはずです。 2) max_eventsの値を大きくする src/iomux.cの47行目、 > static int maxevents = 1024; この値を大きくすることでESTABLISHEDになっているソケットが OSに回収される早さと増える速度を調節する。 (ただし、epollに渡されるevent数が増えるので速度は低下します)。 上記の二つが考えられます。 どちらもメリットデメリットが存在しますのでネットワーク環境と その他に動いているサービスへの影響も考慮の上、ご参考までに。 > お世話になります。三浦と申します。 > > 以前にl7vsadmコマンドの件でご質問したものですが、 > この件の続きで再度ご質問があります。 > > Webサーバ2台をl7vsdでバランシングしているのですが、 > クライアントPCとl7vsd間でESTABLISHEDコネクションが残り続けて > しまい、max_eventsの上限まで達してしまう現象が発生しています。 > ESTABLISHEDのままとなってしまったコネクションをtcpdumpで調べ > てみましたがパケットが全く流れていない状態でした。 > > 現象はl7directordを再起動すると一時的に解消されますが、 > また時間がたつにつれコネクションが増えてしまいます。 > そこで一定時間経過後にl7vsd側でこのコネクションを切断する方法等はありま > すでしょうか。 > > 現在の構成としては下記のようにultramonkey-l7とWebを統合した形になります。 > ----------------------------------------------- > web1 (ultramonkey-l7 + Apache) > web2 (Apache) > ----------------------------------------------- > また全く同じ状況は再現できていないのですが、下記の方法で似たような状況は > 再現しております。 > --------------------------------------------------------------------------------------------------------------- > TCPセッションを張る(だけ)のツールを使用して疑似的に300セッションを張り、 > ツールを強制停止すると最大で約10%程度のセッションが残ってしまう。 > (強制停止時にはRSTパケットをサーバに送っているのですがいくつかをロストして > コネクションが残ってしまっている。ちなみにクライアント、サーバ間はプライ > ベートなLAN環境です) > --------------------------------------------------------------------------------------------------------------- > もし解決方などがあればご教授ください。 > よろしくお願いします。 > > -- > miura > > > > _______________________________________________ > Ultramonkey-l7-users mailing list > Ultramonkey-l7-users @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users -- _____________________________________________ 中居 憲久[Norihisa NAKAI] n.nakai @ sdy.co.jp 株式会社SDY tel:047-401-7210/fax:047-401-7207