ADC

バックエンドサーバーが TCP 接続をリセットした場合に再試行をリクエストする

バックエンドサーバーがTCP接続をリセットすると、要求の再試行機能は、リセットをクライアントに送信する代わりに、次に使用可能なサーバーに要求を転送します。リロードバランシングを行うことで、アプライアンスが次に使用可能なサービスへの同じリクエストを開始したときに、クライアントは RTT を節約できます。

バックエンドサーバーが TCP 接続をリセットしたときの要求再試行の仕組み

次の図は、コンポーネントが互いにどのように相互作用するかを示しています。

TCP 接続リセットのリクエスト再試行の仕組み

  1. このプロセスでは、まずアプライアンスの appqoe 機能を有効にします。
  2. クライアントがHTTPまたはHTTPS要求を送信すると、負荷分散仮想サーバーはその要求をバックエンドサーバーに送信します。
  3. 要求されたサービスが利用できない場合、バックエンドサーバーはTCP接続をリセットします。
  4. appqoe 設定で「再試行」が有効になっていて、必要な再試行回数が指定されている場合、負荷分散仮想サーバーは、設定された負荷分散アルゴリズムを使用して、次に利用可能なアプリケーションサーバーに要求を転送します。
  5. 負荷分散仮想サーバーが応答を受信した後、アプライアンスは応答をクライアントに転送します。
  6. 使用可能なバックエンドサーバーが再試行回数と同じかそれ以下で、すべてのサーバーがリセットを送信した場合、アプライアンスは500の内部サーバーエラーを返します。使用可能なサーバーが5つあり、再試行回数が6に設定されているシナリオを考えてみます。5 台のサーバーすべてが接続をリセットすると、アプライアンスはクライアントに 500 内部サーバーエラーを返します。
  7. 同様に、バックエンドサーバーの数が再試行回数よりも多く、バックエンドサーバーが接続をリセットした場合、アプライアンスはリセットをクライアントに転送します。3つのバックエンドサーバーがあり、再試行回数が2に設定されているシナリオを考えてみます。3 台のサーバーが接続をリセットすると、アプライアンスはリセット応答をクライアントに送信します。

GETメソッドの要求再試行を構成します

GET メソッドのリトライ機能を設定するには、次の手順を完了する必要があります。

  1. AppQoEを有効にする
  2. AppQoEアクションの追加
  3. AppQoEポリシーの追加
  4. AppQoE ポリシーを負荷分散仮想サーバーにバインドする

AppQoEを有効にする

コマンドプロンプトで入力します: enable ns feature appqoe

AppQoEアクションの追加

AppQoE アクションを設定して、TCP リセット後にアプライアンスを再試行するかどうか、および再試行回数を指定する必要があります。

add appqoe action reset_action -retryOnReset ( YES | NO ) -numretries <positive_integer>]

例:

add appqoe action reset_action –retryOnReset YES –numretries 5

ここで、 リセット時に再試行してください。バックエンドサーバーがTCP接続をリセットした場合は、再試行を有効にします。 数字。再試行回数。

AppQoEポリシーの追加

AppQoE を実装するには、特定のキューで受信する HTTP または SSL リクエストに優先順位を付けるように AppQoE ポリシーを設定する必要があります。

コマンドプロンプトで入力します:

add appqoe policy <name> -rule <expression> -action <string>

例:

add appqoe policy reset_policy -rule http.req.method.eq(get) -action reset_action

appqoeポリシーを負荷分散仮想サーバーにバインドする

バックエンドサーバーがTCPパケット要求をリセットし、負荷分散仮想サーバーがその要求を次に利用可能なサービスに転送するようにする場合は、負荷分散仮想サーバーをAppQoEポリシーにバインドする必要があります。

コマンドプロンプトで入力します:

bind lb vserver <name> ((<serviceName> (-policyName <string> [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )]

例:

bind lb vserver v1 -policyName reset_policy -type REQUEST -priority 1

POST リクエストのリクエストリトライの設定

バックエンドサーバーにデータを書き込むバランスリクエストをリロードする場合は、常に注意が必要です。このようなリクエストには、コンテンツの長さが短いことを確認してください。コンテンツの長さが長いと、リソースを消費する可能性があります。POST リクエストのリ負荷分散を設定するには、以下の手順に従ってください。

  1. AppQoEを有効にする
  2. AppQoEアクションの追加
  3. AppQoEポリシーの追加
  4. AppQoE ポリシーを負荷分散仮想サーバーにバインドする

AppQoEを有効にする

コマンドプロンプトで入力します:

enable ns feature appqoe

Apple アクションを追加

TCPリセットと再試行回数の後に再試行するには、AppQoEアクションを追加する必要があります。

add appqoe action reset_action -retryOnReset ( YES | NO ) -numretries <positive_integer>]

例:

add appqoe action reset_action –retryOnReset YES –numretries 5

アップルポリシーの追加

AppQoE を実装するには、AppQoE ポリシーを設定して、特定のキュー内の接続をキューに入れる方法を定義する必要があります。

コマンドプロンプトで入力します:

add appqoe policy <name> -rule <expression> -action <string>

例:

add appqoe policy reset_policy -rule HTTP.REQ.CONTENT_LENGTH.le(2000) -action reset_action

注:

この構成は、リクエストのリトライ機能をコンテンツの長さが 2000 未満に制限したい場合に使用できます。

負荷分散仮想サーバーをAppQoEポリシーにバインドする

バックエンドサーバーがTCPパケット要求をリセットしたときに、負荷分散仮想サーバーが特定のキューを介して次の利用可能なサービスに要求を転送するようにするには、負荷分散仮想サーバーをAppQoEポリシーにバインドする必要があります。

コマンドプロンプトで入力します:

bind lb vserver <name> ((<serviceName> (-policyName <string> [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )]

例: bind lb vserver v1 -policyName reset_policy -type REQUEST -priority 1

NetScaler ADC GUI を使用してリクエストを再試行するための AppQoE ポリシーを構成する

  1. [ **AppExpert] > [ **AppQoE** ] > [ポリシー] に移動します。**
  2. AppQoE ポリシー 」ページで、「 追加」をクリックします。
  3. AppQoE ポリシーの作成 」ページで、 次のパラメータを設定します。a. 名前。AppQoE ポリシー名 b. アクション。 アクションを追加または編集します。アクションを作成するには、 AppQoE アクションの作成セクションを参照してください 。 c. 式。 HTTP.REQ.CONTENT_LENGTH.le (2000) ポリシー表現を選択または入力します。
  4. [作成]して[閉じる] をクリックします。

NetScaler ADC GUI を使用してリクエストリトライバランシングを行うための AppQoE アクションの設定

  1. [ **AppExpert] > [ **AppQoE** ] > [アクション] に移動します。**
  2. AppQoE アクション 」ページで、「 追加」をクリックします。
  3. AppQoE アクションの作成 」ページで、TCP リセット時に再試行するための次のパラメータを設定します。 a. TCP リセットで再試行してください。このチェックボックスを選択すると、TCP リセットのリトライアクションが有効になります。 b. 再試行回数。再試行回数を入力します。
  4. [作成]して[閉じる] をクリックします。

TCP SYNの確立時にバックエンドサーバーがリセットされたときに、GETメソッドの要求の再試行を構成します

CLIとGUIの構成は、GETメソッドの場合と同様の手順です。詳細については、「 GET メソッドのリクエスト試行を設定する 」セクションを参照してください。 バックエンドサーバーが接続セクションをリセットしたとき。

バックエンドサーバーが TCP 接続をリセットした場合に再試行をリクエストする