language.Mobageオープンプラットフォームでは、ユーザーがアプリのGameサーバへアクセスする場合はGadgetサーバを経由してリクエストすることになります。GadgetサーバとGameサーバ間の通信にはタイムアウトを設定しており、タイムアウト数が一定期間内に閾値を超過した場合はアプリを自動メンテナンスモードに移行します。自動メンテナンスモードに移行したアプリにユーザはアクセスできなくなります。処理フローと閾値の詳細は下記ドキュメントをご参照ください。Frameworkアプリ処理フロー概要FAQタイムアウトについてタイムアウトについてGadgetサーバからGameサーバへのネットワーク通信にはプラットフォーム全体を保護するためタイムアウトを設けています。GadgetサーバはGameサーバへの接続開始から5秒を経過すると、RSTパケットを送信して通信を切断しタイムアウトとして加算します。従ってGameサーバ内の処理やバックエンドへの通信(DB接続やAPIリクエスト)もタイムアウトとして時間が計測される対象に含まれます。タイムアウトの主な原因サーバ負荷がさほど高くないのにも係わらずタイムアウトが頻発している場合、GadgetサーバとGameサーバ間のネットワークでパケットロスが発生している可能性があります。ここでは主な原因として下記3点を紹介させていただきます。port枯渇による原因)GadgetサーバとGameサーバ間のネットワークに問題が起きている(WAN側のパケットロスやoutboundNATに起因する問題)TIME_WAITとSYN再送TCP通信はソケット単位(IPアドレス+ポート)で行われます。ACKパケットの送受信を経て正常に通信を終了した場合、アクティブクローズ側のサーバではソケットが「TIME_WAIT」という状態で一定期間残留します。状態のソケットが残ることになります。TIME_WAIT状態のソケットは前セッションのパケットが遅延して到達するのを待っている状態となります。不正パケットの到達として通信を終了するためにRSTパケットで応答してしまうので、正常にTCPハンドシェイクできないという事象が起きます。Gameサーバ側もNAT環境であった場合は下記のような構成が想定されます。上記のようなNAT環境下においては、異なる複数のGadgetサーバが同一のIPとPortの組み合わせで通信するというケースが発生します。TCPハンドシェイクに失敗したと見做し、3秒のwaitの後にSYNパケットの再送が行われます。この3秒のwaitとSYNパケットの再送がタイムアウト発生の大きな要因となる事例がありますので注意が必要です。中にマジックナンバーとして定義されています。従ってこのパラメータの変更にはカーネルのリビルドを伴なってしまいますが、なるべく短縮して頂くことを推奨します。IPWatcherについてプラットフォームとGameサーバ間のネットワーク経路に異常が発生していないか確認するためのリクエストになります。対象はGadgetXMLに設定いただいているGameサーバに対して定期的にリクエストをおこないます。IPWatcherのリクエストが不達であった場合でもタイムアウト数(自動メンテナンスモード)には計測されません。reserved.DisclaimerLogin。