2010年02月18日

[aix]TCPタイムアウトのお話

備忘録

初期接続のタイムアウト値はtcp_keepinit デフォルト150
0.5秒きざみの設定なので、デフォルトだと75秒になる。

接続が確立した後は、通信中ならばRTOに基づいて計算されるタイムアウト
デフォルトではrtoを決定するパラメーターは以下
rto_low=1
rto_high=64
rto_limit=7
rto_length=13

パケットの再転送時間間隔において、時間の初期値はrto_low、
最大値は rto_high、初期値から何回目に最大値を取るかはrto_limit、何回パケットを送るかはrto_length

つまりデフォルトだと
1.5(※1)、3、6、12、24、48、64(※2)、64、64、64、64、64、64(※3) RST

※1 rto_low+バックオフ衝突回数からややこしい式で計算
  AIXのRTO計算タイマーが0.5の精度らしいから、どうやっても
  一回目は0.5しかない。

※2 rto_highに到達 (rto_limitに到達)
※3 rto_lengthに到達


無通信ならば
tcp_keepcnt = 8
tcp_keepidle = 14400
tcp_keepintvl = 150

tcp_keepidle+(tcp_keepcnt+1)*tcp_keepintvl

デフォルトだと2時間10分75秒

これに伴うWASのヤバ目な問題があり、要チューニング。
http://www-01.ibm.com/support/docview.wss?uid=std302924c5fb40ba6ae4925750600359fd9
http://www-06.ibm.com/jp/domino01/mkt/cnpages1.nsf/page/default-0007496B

全ConnectionPoolが応答待ちしている場合だと、
HA復帰後であってもCnnectionPoolが枯渇しており、
接続タイムアウトになる。
しかし、普通はWorker(・∀・)スッドレ! の方が多いので、
DBが使えないイケテナイASの出来上がり。


その他調べものしたリンク
http://www.atmarkit.co.jp/fwin2k/network/tcpip006/tcpip04.html
http://www.linux.or.jp/JM/html/LDP_man-pages/man7/tcp.7.html
http://www-01.ibm.com/support/docview.wss?uid=std3fca07a8896b7945d49257615002527e3
http://www-01.ibm.com/support/docview.wss?uid=std3e3dc9da7d4e1432a492574c70021e993
http://tiki.is.os-omicron.org/tiki.cgi?c=v&p=TCP%2FRTO
http://www.7key.jp/nw/tcpip/tcp/tcp2.html
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds4/no.htm
http://www-06.ibm.com/jp/domino01/mkt/cnpages1.nsf/page/default-00015820




posted by koteitan at 13:24| Comment(0) | TrackBack(0) | aix | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/141511366

この記事へのトラックバック