この節では、バックエンドインスタンスの状態確認について、詳しく説明します。
Web Server 7.0 の route_offline_thread は、バックエンドインスタンスの状態確認を実行します。これは、OPTIONS HTTP 要求を送信して、有効なバックエンドインスタンスを検出します。サーバーが応答した場合、バックエンドインスタンスが有効であると確認されたことになります。初期フェーズのあとで、スレッドによりオフラインのバックエンドインスタンスの状態が 60 秒ごとに確認されます (間隔は設定できない)。ここで、route_offline_thread によりオフラインインスタンスへの接続が試みられます。接続が成功すると、OPTIONS HTTP 要求が送信されます。インスタンスが応答する場合、ハングアップからの復旧後、 route_offline_thread はただちにそれをオンラインと識別します。このため、スレッドがシステムおよびバックエンドインスタンスのパフォーマンスに影響を及ぼすことはありません。
バックエンドインスタンスがオンラインと識別されたあとで停止またはクラッシュした場合、route_offline_thread が追跡することはできなくなります。要求を処理するために、この種のインスタンスが Web Server 逆プロキシパラメータにより選択された場合、読み取りエラーまたは送信エラーが発生し、インスタンスへの接続が壊れていることが示されます。
obj.conf ファイル内の http-client-config ObjectType 関数を使用して、応答タイムアウト値を定義できます。
ObjectType fn="http-client-config" timeout="400" |
デフォルトのタイムアウト値は 300 秒です。
応答タイムアウト値を定義したあとで、接続のハングアップ時間が 400 秒を超え、オフラインと識別されると、逆プロキシパラメータによりバックエンドインスタンスへの接続が閉じられます。
接続の確立を試みるバックエンドインスタンスがハングアップまたはビジー状態にある場合、逆プロキシパラメータは接続応答を最大 5 秒間待機してから、そのインスタンスをオフラインとして識別します。