最小帯域幅方式を使用するように構成された負荷分散仮想サーバーは、現在処理しているトラフィックの量(メガビット/秒(Mbps)が最も少ないサービスを選択します。次の例は、仮想サーバーが最小帯域幅方式を使用して負荷分散用のサービスを選択する方法を示しています。
サービス HTTP-1、サービス HTTP-2、サービス HTTP-3 の 3 つのサービスを考えてみましょう。
-
サービス HTTP-1 の帯域幅は 3 Mbps です。
-
サービス HTTP-2 の帯域幅は 5 Mbps です。
-
サービス HTTP-3 の帯域幅は 2 Mbps です。
次の図は、仮想サーバーが最小帯域幅方式を使用して 3 つのサービスに要求を転送する方法を示しています。
図1:最小帯域幅ロードバランシング方式の動作
仮想サーバは、過去 14 秒間に送受信されたバイト数の合計である帯域幅値(N)を使用してサービスを選択します。各リクエストに1 Mbpsの帯域幅が必要な場合、NetScalerアプライアンスは次のようにリクエストを配信します。
-
Service-HTTP-3 は最初の要求を受信します。これは、このサービスの N 値が最小であるためです。
-
Service-HTTP-1 と Service-HTTP-3 は同じ N 値を持つため、仮想サーバはこれらのサーバのラウンドロビン方式に切り替わり、それらのサーバ間で交互に切り替えられます。Service-HTTP-1 は 2 番目の要求を受信し、Service-HTTP-3 は 3 番目の要求を受信し、Service-HTTP-1 は 4 番目の要求を受信し、Service-HTTP-3 は 5 番目の要求を受信し、Service-HTTP-1 は 6 番目の要求を受信します。
-
Service-HTTP-1、Service-HTTP-2、Service-HTTP-3 はすべて同じ N 値を持つため、仮想サーバは Service-HTTP-2 をラウンドロビンリストに含めます。したがって、Service-HTTP-2 は 7 番目の要求を受信し、Service-HTTP-3 は 8 番目の要求を受信します。
次の表は、N の計算方法をまとめたものです。
| リクエストを受け取りました |
サービス選択済み |
現在の N 値 |
注釈 |
| Request-1 |
Service-HTTP-3; (N = 2) |
N = 3 |
Service-HTTP-3 は最小 N 値を持ちます。 |
| Request-2 |
Service-HTTP-1; (N = 3) |
N = 4 |
サービス HTTP-1 とサービス HTTP-3 の N 値は同じ |
| Request-3 |
サービス-HTTP-3; (N = 3) |
N = 4 |
サービス HTTP-1 とサービス HTTP-3 の N 値は同じ |
| Request-4 |
Service-HTTP-1; (N = 4) |
N = 5 |
- |
| Request-5 |
Service-HTTP-3; (N = 4) |
N = 5 |
- |
| Request-6 |
Service-HTTP-1; (N = 5) |
N = 6 |
サービス HTTP-1、サービス HTTP-2、およびサービス HTTP-3 には、同じ N 個の値があります。 |
| Request-7 |
Service-HTTP-2; (N = 5) |
N = 6 |
サービス HTTP-1、サービス HTTP-2、およびサービス HTTP-3 には、同じ N 個の値があります。 |
| Request-8 |
Service-HTTP-3; (N = 5) |
N = 6 |
- |
注:仮想サーバーでRTSP NATオプションを有効にすると、Citrix ADCアプライアンスは交換されたデータ数と制御バイト数を使用して、RTSPサービスの帯域幅使用率を決定します。RTSP NAT オプションの詳細については、「
RTSP 接続の管理」を参照してください。
また、Citrix ADCアプライアンスは、異なるウェイトがサービスに割り当てられている場合、帯域幅と重みを使用して負荷分散を実行します。次の式の値 (Nw) を使用してサービスを選択します。
Nw = (N) * (10000 /重量)
前の例のように、サービス HTTP-1 には 2 の重みが割り当てられ、サービス HTTP-2 には 3、サービス HTTP-3 には 4 の重みが割り当てられているとします。Citrix ADCアプライアンスは、次のようにリクエストを送信します。
-
Service-HTTP-3 は、最初の 2 番目、3 番目、4 番目、5 番目のリクエストを受け取ります。これは、このサービスの Nw 値が最も小さいためです。
-
Service-HTTP-1 は 6 番目のリクエストを受け取ります。これは、このサービスの Nw 値が最も小さいためです。
-
Service-HTTP-3 は 7 番目のリクエストを受け取ります。これは、このサービスの Nw 値が最も小さいためです。
-
Service-HTTP-2 は 8 番目のリクエストを受け取ります。これは、このサービスの Nw 値が最も小さいためです。
次の表は、Nw の計算方法をまとめたものです。
| リクエストを受け取りました |
サービス選択済み |
現在の新しい価値 (アクティブなトランザクションの数) * (10000/重量) |
注釈 |
| Request-1 |
Service-HTTP-3; (Nw = 5000) |
Nw = 5000 |
サービス HTTP-3 の Nw 値は最も低いです。 |
| Request-2 |
Service-HTTP-3; (Nw = 5000) |
Nw = 7500 |
- |
| Request-3 |
Service-HTTP-3; (New = 7500) |
Nw = 10000 |
- |
| Request-4 |
Service-HTTP-3; (Nw = 10000) |
Nw = 12500 |
- |
| Request-5 |
Service-HTTP-3; (Nw = 12500) |
Nw = 15000 |
- |
| Request-6 |
Service-HTTP-1; (Nw = 15000) |
Nw = 20000 |
サービス HTTP-1 とサービス HTTP-3 の Nw 値は同じです。 |
| Request-7 |
Service-HTTP-3; (Nw = 15000) |
Nw = 17500 |
サービス HTTP-1 とサービス HTTP-3 の Nw 値は同じです。 |
| Request-8 |
Service-HTTP-2; (Nw = 16666.67) |
Nw = 20000 |
サービス HTTP-2 の Nw 値は最も低いです。 |
次の図は、サービスに重みを割り当てる場合に、仮想サーバーが最小帯域幅方式を使用する方法を示しています。
図2:重みが割り当てられている場合の最小帯域幅ロードバランシング方式の動作