ADC

最短応答時間法

負荷分散仮想サーバーが最小の応答時間方式を使用するように構成されている場合、アクティブな接続が最も少なく、平均応答時間が最も小さいサービスを選択します。この方法は、HTTP および SSL (セキュアソケットレイヤー) 負荷分散仮想サーバーに対してのみ構成できます。応答時間(TTFB とも呼ばれます)は、要求パケットをサービスに送信してからサービスから最初の応答パケットを受信するまでの時間間隔です。Citrix ADCアプライアンスは、応答コード200を使用してTTFBを計算します。

次の例は、仮想サーバが、最小応答時間方式を使用してロードバランシングするサービスを選択する方法を示しています。次の 3 つのサービスを検討してください。

  • Service-HTTP-1 は 3 つのアクティブなトランザクションを処理しており、TTFB は 2 秒です。
  • Service-HTTP-2 は 7 つのアクティブなトランザクションを処理し、TTFB は 1 秒です。
  • Service-HTTP-3 はアクティブなトランザクションを処理せず、TTFB は 2 秒です。

次の図は、Citrix ADCアプライアンスが最小応答時間方式を使用して接続を転送する方法を示しています。

図1:最小応答時間のロードバランシング方式の動作

応答時間の最小メカニズム

仮想サーバは、各サービスのアクティブなトランザクション数に TTFB を掛けてから、最も低い結果を持つサービスを選択することによって、サービスを選択します。上記の例では、仮想サーバは次のように要求を転送します。

  • Service-HTTP-3 は、サービスがアクティブなトランザクションを処理していないため、最初の要求を受信します。
  • Service-HTTP-3 は、2 番目と 3 番目の要求も受信します。これは、3 つのサービスの中で最も低い結果になるためです。
  • Service-HTTP-1 は 4 番目の要求を受信します。Service-HTTP-1とService-HTTP-3は同じ結果になるため、Citrix ADCアプライアンスはラウンドロビン方式を適用して選択します。
  • Service-HTTP-3 は 5 番目の要求を受信します。
  • Service-HTTP-2 は 6 番目の要求を受信します。これは、この時点で結果が最も低いためです。
  • この時点では、Service-HTTP-1、Service-HTTP-2、Service-HTTP-3 はすべて同じ結果になるため、アプライアンスはラウンドロビン方式に切り替わり、その方式を使用して接続を配信し続けます。

次の表では、前述の 3 サービス負荷分散設定での接続の分散方法について説明します。

リクエストを受け取りました 選択されたサービス 現在のN値(アクティブ・トランザクション数 * TTFB) 注釈
Request-1 Service-HTTP-3;(N = 0) N = 2 Service-HTTP-3 の最小値は N です。
Request-2 Service-HTTP-3; (N = 2) N = 4 Service-HTTP-3 の最小値は N です。
Request-3 Service-HTTP-3; (N = 4) N = 6 Service-HTTP-3 の最小値は N です。
Request-4 Service-HTTP-1;(N = 6) N = 8 Service-HTTP-1 とService-HTTP-3 は、同じ N 値を持ちます。アプライアンスは、ラウンドロビン方式を使用して要求を配信します。
Request-5 Service-HTTP-3;(N = 6) N = 8 Service-HTTP-1 とService-HTTP-3 は、同じ N 値を持ちます。
Request-6 Service-HTTP-2;(N = 7) N = 8 Service-HTTP-2 は最小 N 値を持ちます。
Request-7 Service-HTTP-3;(N = 8) N = 10 Service-HTTP-1、Service-HTTP-2、およびService-HTTP-3 は、同じ N 値を持ちます。Citrix ADCアプライアンスは、ラウンドロビン方式を使用してリクエストを配信します。
Request-8 Service-HTTP-1;(N = 8) N = 10 Service-HTTP-1 と Service-HTTP-2 は同じ値を持ちます。アプライアンスは、ラウンドロビン方式を使用して要求を分散します。

Service-HTTP-1 は、アクティブなトランザクションが完了したとき、またはその N 値が他のサービス(Service-HTTP-2 および Service-HTTP-3)よりも小さい場合に、ロードバランシングのために再び選択されます。

ウェイト割り当て時のサービスの選択

次の図は、重みの割り当て時にCitrix ADCアプライアンスが最小応答時間方式を使用する方法を示しています。

図2:重みが割り当てられている場合の最小応答時間負荷分散方法の仕組み

LRTウェイト

仮想サーバーは、次の式の値 (Nw) を使用してサービスを選択します。

Nw = (N) * (10000/weight)。ここで N = (アクティブなトランザクション数 * TTFB)

Service-HTTP-1 に重みが 2、Service-HTTP-2 に重みが 3、Service-HTTP-3 に重みが 4 が割り当てられているとします。

Citrix ADCアプライアンスは、次のように要求を配信します。

  • Service-HTTP-3 は、アクティブなトランザクションを処理していないため、最初の要求を受信します。

    サービスがアクティブなトランザクションを処理していない場合、アプライアンスは割り当てられている重みに関係なくトランザクションを選択します。

  • Service-HTTP-3 は、Nw の値が最小であるため、2 番目、3 番目、4 番目、5 番めの要求を受信します。

  • Service-HTTP-2 は 6 番目の要求を受信します。これは、このサービスが Nw の値が最も小さいためです。

  • Service-HTTP-3 は、このサービスの Nw 値が最小であるため、7 番目の要求を受信します。

  • Service-HTTP-2 は 8 番目の要求を受信します。これは、このサービスが Nw の値が最も小さいためです。

Service-HTTP-1 は重みが最も低く、したがって Nw 値が最大であるため、仮想サーバはロードバランシング用に選択しません。

次の表では、前述の 3 サービス負荷分散設定での接続の分散方法について説明します。

リクエストを受け取りました 選択されたサービス 現在のニュート値 = (N) * (10000/重量) 注釈
Request-1 Service-HTTP-3; (Nw = 0) Nw = 5000 Service-HTTP-3 の Nw 値は最小です。
Request-2 Service-HTTP-3; (Nw = 5000 Nw = 10000 Service-HTTP-3 の Nw 値は最小です。
Request-3 Service-HTTP-3; (Nw = 10000) Nw = 15000 Service-HTTP-3 の Nw 値は最小です。
Request-4 Service-HTTP-3; (Nw = 15000) Nw = 20000 Service-HTTP-3 の Nw 値は最小です。
Request-5 Service-HTTP-3; (Nw = 20000) Nw = 25000 Service-HTTP-3 の Nw 値は最小です。
Request-6 Service-HTTP-2; (Nw = 23333.34) Nw = 26666.67 Service-HTTP-2は、最小Nw値を持っています。
Request-7 Service-HTTP-3; (Nw = 25000) Nw= 30000 Service-HTTP-3 の Nw 値は最小です。
Request-8 Service-HTTP-2; (Nw = 26666.67) Nw = 30000 Service-HTTP-2は、最小Nw値を持っています。

Service-HTTP-1 は、アクティブなトランザクションが完了したとき、またはその Nw 値が他のサービス (Service-HTTP-2 および Service-HTTP-3) よりも小さい場合に、ロードバランシングの対象として選択されます。

CLI を使用して最小応答時間のロードバランシング方式を設定するには

コマンドプロンプトで、次のように入力します。

set lb vserver <name> -lbMethod LEASTRESPONSETIME
<!--NeedCopy-->

例:

set lb vserver Vserver-LB-1 -lbMethod LEASTRESPONSETIME
<!--NeedCopy-->

GUI を使用して最小応答時間のロードバランシング方式を構成するには

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動し、仮想サーバーを開きます。
  2. [詳細設定] で、[LEASTRESPONSETIME] を選択します。

モニタの構成の詳細については、「 負荷分散セットアップでのモニタの設定」を参照してください。

最短応答時間法