[Ultramonkey-l7-users 595] Re: UltraMonkey-L7 v3系においてのtimeoutについて

Zurück zum Archiv-Index

tanum****@nttda***** tanum****@nttda*****
2015年 8月 6日 (木) 16:13:33 JST


小林様

田沼と申します。

残ったコネクションを強制的に切るよりも
コネクションが残らないようにするアプローチの方がよいかと思います。
(※最近のUltraMonkey-L7の仕様を把握していませんが、
  たぶん環境の問題だと思います)

Apache側(及びクライアント)にはESTABLISHEDで残っていないということは、
Apacheでは切断処理を行っているということで、
その際に対向のUltraMonkey-L7に対して、FINまたはRSTのパケットを
送っているはずです。
それにもかかわらず、UltraMonkey-L7にESTABLISHEDで残るということは、
Apacheから送信したFINやRSTがUltraMonkey-L7に届かなかったと
いうことになります。

どういう場合にパケットが届かなくなるかというと、
ケーブルが抜けたとか、NWが輻輳してパケットロストしたとか、
様々なケースが考えられますが、最もありがちなのが、
ファイアウォールやNATルータが間にあって、セッションタイムアウトで
パケットを破棄しているパターンです。

ということで、UltraMonkey-L7の前後にファイアウォールやNATルータ等の
機器が存在していないでしょうか。
存在する場合は、ApacheのKeepAliveTimeoutやTimeout設定よりも
機器のセッションタイムアウト設定が長くなっているかどうかを
確認してみてください。

そのような機器が無い場合は、UltraMonkey-L7とApacheの両方で
tcpdump等でパケットキャプチャを行って解析することが
解決への近道かと思います。

以上、よろしくお願いします。


From: ultra****@lists***** [mailto:ultra****@lists*****] On Behalf Of Michiro Hibari
Sent: Thursday, August 06, 2015 2:07 PM
To: 小林 年伸 <toshi****@jig-s*****>
Cc: ultra****@lists*****
Subject: [Ultramonkey-l7-users 594] Re: UltraMonkey-L7 v3系においてのtimeoutについて

小林さま

ひばり と申します。

ハーフコネクションが残ってしまった場合、
現状 有効なタイムアウト設定はなさそうです。

socket optionでtcpkeepaliveが有効にできれば
良いのですが、無効でハードコーディングされてしまって
いるので設定で有効にはできません。

ちなみにserver_connect_timeoutは振り分け先との
コネクションが確立するまでのタイムアウトなので、
ESTABLISHEDとなったコネクションに対して有効なものでは
ございません。

netstat等で観察しつつ、あまりにも多くハーフコネクションが
残るようなら再起動するしかないと思います。

以上、宜しくお願い致します。

2015/08/05 18:42 "小林 年伸" <toshi****@jig-s*****>:
開発者の皆様

jig-sawの小林と申します。

UltraMonkey-L7 v3系においてのtimeout値について
ご質問させて頂いてよろしいでしょうか

現在UltraMonkey-L7 3.1.1を使用させて頂いていますが
運用中にhttpの接続が切れないで
ESTABLISHED 状態のまま残り続けるものが溜まっていくという
事象がありました。

アクセスの傾向としては07:00~22:00以外はグッと下がる傾向にあるのですが
/usr/sbin/l7vsadm -l -n
で確認すると ActiveConn  が落ちること無く日増しに増えていっていました。

l7vs.cfに「server_connect_timeout」を設定してみましたが
効果が見られなかったです。
クライアント(GIP)、リアルサーバー(LIP)共にESTABLISHED 状態のまま残り続け
ていました。
只、リアルサーバー側ではLBのIPとESTABLISHED になっているものは無い状況で
した。

他に強制的にタイムアウトをさせるような設定はあるかどうか
ご教授いただけますでしょうか。

以下環境を記載させていただきます。
足りないものがありましたらお手数ですがご教授ください。

【環境】
<ロードバランサー>
OS:CentOS 6.6 64bit
Kernel:2.6.32-504.12.2.el6
UltraMonkey-l7バージョン:3.1.1

<Webサーバー>
OS:CentOS 5.5 64bit
Apache:2.2.21

<l7vs.cf>
-----------------------------------------------------------
#
# l7vsadm setting
#
[l7vsadm]
cmd_interval = 1
cmd_count = 10
con_interval = 1
con_count = 1

#
# l7vsd setting
#
[l7vsd]
maxfileno = 65535

#
# virtualservice setting
#
[virtualservice]
session_thread_pool_size    = 32
throughput_calc_interval    = 500

#
# Session Settings
#
[session]
#upstream_buffer_size = 8192
#downstream_buffer_size = 8192
server_connect_timeout = 61

#
# l7vsd replication setting
#
[replication]
#ip_addr = "192.168.0.254"
#service_name = "40000"
#recv_ip_addr = "192.168.0.253"
#interval = 1000
#compulsorily_interval = 40

#cmponent_id_00 = "virtualservice"
#cmponent_size_00 = 64
#cmponent_id_01 = "chash"
#cmponent_size_01 = 1
#cmponent_id_02 = "sslid"
#cmponent_size_02 = 222

#
# snmpagent settings
#
[snmpagent]
enable = "false"
cache_update_interval = 1
logtrap = "false"
logtrap_level = "warn"
qos_up_alert_on = 85
qos_up_alert_off = 50
qos_down_alert_on = 85
qos_down_alert_off = 50
sessionpool_alert_on = 5
sessionpool_alert_off = 8
trap_queue_polling_interval = 100000000
trap_queue_max_size = 1000
-----------------------------------------------------------
※[logger]セクションは省略しております。

<l7directord.cf>
-----------------------------------------------------------
# - Monitor Settings
checktimeout     = 5
negotiatetimeout = 5
checkinterval    = 10
retryinterval    = 5
checkcount       = 3
quiescent        = yes
configinterval   = 10
autoreload       = yes

virtual  = {service_IP}:80
         real = {realserver01_IP}:80 masq 10
         real = {realserver02_IP}:80 masq 10
         real = {realserver03_IP}:80 masq 10
         sorryserver = {sorryserver_IP}:8085
         module      = sessionless --forwarded-for
         scheduler   = lc
         qosup       = 125M
         qosdown     = 125M
         checktype   = connect
         service     = http
         quiescent   = no
         checkcount  = 2
         session_thread_pool_size = 2000
         maxconn     = 10000
-----------------------------------------------------------


お手数ですが、何卒よろしくお願いいたします。

--
--------------------------------------------
ジグソー株式会社
小林 年伸
E-mail:toshi****@jig-s*****
Tel:011-737-0240  Fax:011-737-0241
〒060-0808
北海道札幌市北区北8条西3丁目32番

_______________________________________________
Ultramonkey-l7-users mailing list
Ultra****@lists*****
http://lists.osdn.me/mailman/listinfo/ultramonkey-l7-users



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