[Ultramonkey-l7-users 252] Re: l7vsdでESTABLISHEDコネクションが残ってしまう

Zurück zum Archiv-Index

miura iroir****@gmail*****
2009年 11月 27日 (金) 11:16:02 JST


中居様


三浦です。お世話になります。
ご連絡有難うございました。

> この値が存在するためにultramonkey自体は使用していないソケットのガベージ
> をしていません。
プログラムの知識が乏しいため的外れな質問であれば
大変申し訳ないのですが、ソケット自体はultramonkeyが
kernelにオープンさせ、その後の切断処理については
kernel側で判断しているという認識で良いのでしょうか。

だとすると私の環境でコネクションがいつまでも切れないのは
OS側に問題が有る可能性が強いということですかね。
(OSはCentOS5.4 64bit版を使用しています)

> 1) OSでパケットロストした場合のリトライ回数を減らす

減らして試してみたのですが、効果が見られませんでした。
昨日より試験的に残したコネクションも未だ切れずにいます。
(16時間くらい経過しています)

> 2) max_eventsの値を大きくする

l7vs.cfのmax_eventsパラメータと同一ということで
認識は合っていますでしょうか。
以前に3倍程度まで引き上げてみたのですが、
結果としては最大値まで達する日数が伸びた程度で
改善には至りませんでした。

現状では一度コネクションが残ってしまうと確認できてる
範囲では1週間以上残ってしまっています。
(切れずに上限まで達するので強制再起動で対処)

引き続き調べてみようと思います。
その際にはまた質問するかもしれませんが、
その時にはよろしくお願いします。


2009年11月26日12:27 中居憲久 <n.nak****@sdy*****>:

> 三浦様
>
> 中居と申します。
> お世話になっております。
>
> 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
> > Ultra****@lists*****
> > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users
>
>
> --
> _____________________________________________
> 中居 憲久[Norihisa NAKAI]
> n.nak****@sdy*****
> 株式会社SDY tel:047-401-7210/fax:047-401-7207
>
> _______________________________________________
> Ultramonkey-l7-users mailing list
> Ultra****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-users
>



-- 
miura
-------------- next part --------------
HTMLの添付ファイルを保管しました...
Download 



Ultramonkey-l7-users メーリングリストの案内
Zurück zum Archiv-Index