仮想サーバーが最小接続負荷分散アルゴリズム(または方法)を使用するように構成されている場合、アクティブな接続が最も少ないサービスが選択されます。これは、ほとんどの状況で最高のパフォーマンスを提供するため、デフォルトの方法です。
TCP、HTTP、HTTPS、SSL_TCPサービスの場合、Citrix ADCアプライアンスの既存の接続リストに次の接続タイプが含まれます。
-
**サービスへのアクティブな接続。**クライアントが仮想サーバーに送信し、仮想サーバーがサービスに転送した要求を表す接続。HTTP および HTTPS サービスの場合、アクティブな接続は、まだ応答を受信していない HTTP または HTTPS 要求のみを表します。
-
**サージキュー内の接続を待機しています。**サージキューで待機中で、まだサービスに転送されていない仮想サーバーへの接続。接続は、次のいずれかの理由により、いつでもサージキューに構築できます。
-
サービスには接続制限があり、負荷分散設定のすべてのサービスはその制限にあります。
-
サージ保護機能が構成され、仮想サーバへの要求のサージによってアクティブ化されています。
-
負荷分散されたサーバーが内部制限に達したため、新しい接続を開きません。(たとえば、Apache サーバーの接続制限に達したとします)。
仮想サーバーが最小の接続方法を使用する場合、待機中の接続は特定のサービスに属するものと見なされます。したがって、これらのサービスへの新しい接続は開かれません。
UDP サービスの場合、最小接続アルゴリズムが考慮する接続には、クライアントとサービスの間のすべてのセッションが含まれます。これらのセッションは、論理的な時間ベースのエンティティです。セッション内の最初のUDPパケットが到着すると、Citrix ADCアプライアンスは送信元IPアドレスとポートと宛先IPアドレスとポートの間にセッションを作成します。
リアルタイムストリーミングプロトコル(RTSP)接続の場合、Citrix ADCアプライアンスはアクティブな制御接続の数を使用して、RTSPサービスへの接続の最小数を決定します。
次の例は、仮想サーバが、最小接続方式を使用してロードバランシングするサービスを選択する方法を示しています。次の 3 つのサービスを検討してください。
-
Service-HTTP-1 は 3 つのアクティブなトランザクションを処理しています。
-
Service-HTTP-2 は 15 個のアクティブなトランザクションを処理しています。
-
Service-HTTP-3 はアクティブなトランザクションを処理していません。
次の図は、Citrix ADCアプライアンスが最小の接続方法を使用する場合に着信要求を転送する方法を示しています。
図1:最小接続負荷分散方式の仕組み
この図では、仮想サーバーは、アクティブなトランザクションが最も少ないサーバーを選択して、各着信接続のサービスを選択します。
接続は次のように転送されます。
-
Service-HTTP-3 は、アクティブなトランザクションを処理していないため、最初の要求を受信します。
注意:アクティブなトランザクションがないサービスが最初に選択されます。
-
Service-HTTP-3 は 2 番目と 3 番目の要求を受信します。これは、サービスのアクティブなトランザクション数が次に最小であるためです。
-
Service-HTTP-1 は 4 番目の要求を受信します。Service-HTTP-1 と Service-HTTP-3 のアクティブトランザクション数が同じであるため、仮想サーバはラウンドロビン方式を使用してそれらのいずれかを選択します。
-
Service-HTTP-3 は 5 番目の要求を受信します。
-
Service-HTTP-1 は、Service-HTTP-1 とService-HTTP-3 の両方がService-HTTP-2 と同じ数の要求を処理するまで、6 番目の要求を受信します。次に、Citrix ADCアプライアンスは、負荷が最も低いサービスであるか、またはラウンドロビンキューでターンが起動したときに、Service-HTTP-2への要求の転送を開始します。
メモ:Service-HTTP-2 への接続が終了すると,他の 2 つのサービスに 15 個のアクティブなトランザクションがある前に,新しい接続を取得することがあります。
次の表では、前述の 3 サービス負荷分散設定での接続の分散方法について説明します。
| 着信接続 |
選択されたサービス |
現在のアクティブな接続数 |
注釈 |
| Request-1 |
Service-HTTP-3;(N = 0) |
1 |
Service-HTTP-3 のアクティブな接続数が最も少なくなります。 |
| Request-2 |
Service-HTTP-3;(N = 1) |
2 |
Service-HTTP-3 のアクティブな接続数が最も少なくなります。 |
| Request-3 |
Service-HTTP-3; (N = 2) |
3 |
- |
| Request-4 |
Service-HTTP-1; (N = 3) |
4 |
Service-HTTP-1 とService-HTTP-3 は、同じ数のアクティブな接続を持ちます。 |
| Request-5 |
Service-HTTP-3; (N = 3) |
4 |
Service-HTTP-1 とService-HTTP-3 は、同じ数のアクティブな接続を持ちます。 |
| Request-6 |
Service-HTTP-1;(N = 4) |
5 |
- |
| Request-7 |
Service-HTTP-3; (N = 4) |
5 |
- |
| Request-8 |
Service-HTTP-1; (N = 5) |
6 |
- |
Service-HTTP-2 は、アクティブなトランザクションを完了して現在の接続が閉じるとき、または他のサービス(Service-HTTP-1 および Service-HTTP-3)がそれぞれ 15 以上の接続を持つときに、負荷分散のために選択されます。
Citrix ADCアプライアンスは、ウェイトをサービスに割り当てるときに最小の接続方法を使用することもできます。次の式の値 (Nw) を使用してサービスを選択します。
Nw =(アクティブなトランザクションの数)*(10000/重量)
次の例は、Citrix ADCアプライアンスがサービスに割り当てられるときに、最小接続方式を使用して負荷分散するサービスを選択する方法を示しています。前の例では、Service-HTTP-1 にウェイト 2 が割り当てられ、Service-HTTP-2 にウェイト 3 が割り当てられ、Service-HTTP-3 にウェイト 4 が割り当てられているとします。接続は次のように転送されます。
-
Service-HTTP-3 は、サービスがアクティブなトランザクションを処理していないため、最初のを受信します。
注:サービスがアクティブなトランザクションを処理していない場合、Citrix ADCアプライアンスは、各サービスに割り当てられた重みに関係なく、ラウンドロビン方式を使用します。
-
Service-HTTP-3 は、サービスの Nw 値が最小であるため、2 番目、3 番目、4 番目、5 番目、6 番めの要求を受信します。
-
Service-HTTP-1 は 8 番目の要求を受信します。Service-HTTP-1 と Service-HTTP-3 は同じ Nw 値を持つため、アプライアンスはラウンドロビン方式でロードバランシングを実行します。したがって、Service-HTTP-3 は 9 番目の要求を受信します。
次の表では、前述の 3 サービス負荷分散設定での接続の分散方法について説明します。
| リクエストを受け取りました |
選択されたサービス |
現在のNw(アクティブなトランザクション数)*(10000/重量)値 |
注釈 |
| Request-1 |
Service-HTTP-3; (Nw = 0) |
Nw = 2500 |
Service-HTTP-3 の Nw 値は最小です。 |
| Request-2 |
Service-HTTP-3; (Nw = 2500) |
Nw = 5000 |
|
| Request-3 |
Service-HTTP-3; (Nw = 5000) |
Nw = 7500 |
|
| Request-4 |
Service-HTTP-3; (Nw = 7500) |
Nw = 10000 |
|
| Request-5 |
Service-HTTP-3; (Nw = 10000) |
Nw = 12500 |
|
| Request-6 |
Service-HTTP-3; (Nw = 12500) |
Nw = 15000 |
|
| Request-7 |
Service-HTTP-1; (Nw = 15000) |
Nw = 20000 |
Service-HTTP-1 とService-HTTP-3 は Nw の値が同じです。 |
| Request-8 |
Service-HTTP-3; (Nw = 15000) |
Nw = 17500 |
|
Service-HTTP-2 は、アクティブなトランザクションを完了するか、他のサービス(Service-HTTP-1 およびService-HTTP-3)の Nw 値が 50000 に等しい場合に、ロードバランシングの対象として選択されます。
次の図は、Citrix ADCアプライアンスがサービスに重みを割り当てるときに最小接続方法を使用する方法を示しています。
図2:重み付け時における最小接続負荷分散手法の仕組み