Citrix ADC

LRTM (計算機)

:LRTMは、モニタ(LRTM)を使用した最小応答時間メソッドの略です。

負荷分散仮想サーバーが LRTM 方式を使用するように構成されている場合、既存の監視インフラストラクチャを使用して、応答時間を最速にします。次に、負荷分散仮想サーバは、アクティブなトランザクションの数が最小で、応答時間が最小であるサービスを選択します。LRTM 方式を使用する前に、アプリケーション固有のモニタを各サービスにバインドし、これらのモニタで LRTM モードを有効にする必要があります。Citrix ADCアプライアンスは、監視プローブから計算した応答時間に基づいて、負荷分散を決定します。

LRTM 方式を使用して、非 HTTP サービスと HTTPS 以外のサービスをロードバランシングすることもできます。この方法は、複数のモニタがサービスにバインドされている場合にも使用できます。各モニターは、バインドされているサービスに対して測定するプロトコルを使用して、応答時間を決定します。次に、仮想サーバは結果を平均化して、そのサービスの平均応答時間を計算します。

次の表は、さまざまなモニターの応答時間の計算方法をまとめたものです。

監視 応答時間の計算
PING ICMP ECHO 要求と ICMP ECHO 応答の時間差。
TCP SYN 要求と SYN+ACK 応答の時間差。
HTTP HTTP 要求(TCP 接続が確立された後)と HTTP 応答の時間差。
TCP-ECV データ送信文字列が送信されてから、データ受信文字列が返される時間の差。送信文字列と受信文字列がない tcp-ecv モニタは、設定が正しくないと見なされます。
HTTP-ECV HTTP 要求と HTTP 応答の時間差。
UDP-ECV UDP 送信ストリングと UDP 受信ストリングの時間差。受信文字列がない UDP-ECV モニタは、正しくない構成と見なされます。
DNS DNS クエリと DNS 応答の時間差。
TCPS SYN 要求と SSL ハンドシェイク完了の時間差。
FTP ユーザー名の送信とユーザー認証の完了の時間差。
HTTPS (HTTPS 要求を監視する) 時間差は HTTP モニタの場合と同じです。
HTTPS-ECV(HTTPS要求の監視) 時間差は HTTP-ECV モニタの場合と同じです。
USER リクエストがディスパッチャに送信された時刻と、ディスパッチャレスポンスが受信された時刻の差。

次の例では、Citrix ADCアプライアンスがLRTM方式を使用して負荷分散するサービスを選択する方法を示します。次の 3 つのサービスを検討してください。

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

次の図は、Citrix ADCアプライアンスが要求を転送するときに従うプロセスを示しています。

図1:LRTM メソッドの仕組み

least-response-time-mechanism

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

N =(アクティブなトランザクション数 * モニタによって決定される応答時間)

仮想サーバは、次のように要求を配信します。

  • Service-HTTP-3 は、このサービスはアクティブなトランザクションを処理していないため、最初の要求を受信します。
  • Service-HTTP-3 は、2 番目、3 番目、4 番目の要求を受信します。これは、このサービスの N 値が最も小さいためです。
  • Service-HTTP-2 は、5 番目の要求を受信します。これは、このサービスの N 値が最小であるためです。
  • Service-HTTP-2とService-HTTP-3の両方が現在同じN値を持っているため、Citrix ADCアプライアンスはラウンドロビン方式に切り替わります。したがって、Service-HTTP-3は6番目の要求を受信します。
  • Service-HTTP-2 は、7 番目と 8 番目の要求を受信します。これは、このサービスの N 値が最も小さいためです。

Service-HTTP-1 は、他の 2 つのサービスと比べて負荷が高い(N 値が最も高い)ため、ロードバランシングには考慮されません。ただし、Service-HTTP-1がアクティブなトランザクションを完了すると、Citrix ADCアプライアンスは再びそのサービスを負荷分散と見なします。

次の表は、サービスの N の計算方法をまとめたものです。

リクエストを受け取りました 選択されたサービス 現在の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-3;(N = 6) N = 8 Service-HTTP-3 の最小値は N です。
Request-5 Service-HTTP-2;(N = 7) N = 8 Service-HTTP-2 の最小値は N です。
Request-6 Service-HTTP-3;(N = 8) N = 10 Service-HTTP-2 とService-HTTP-3 は、同じ N 値を持ちます。Citrix ADCアプライアンスがラウンドロビン方式に切り替わり、 Service-HTTP-3を選択
Request-7 Service-HTTP-2;(N = 8) N = 9 Service-HTTP-2 は最小 N 値を持ちます。
Request-8 Service-HTTP-2;(N = 9) N = 10 Service-HTTP-2 は最小 N 値を持ちます。

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

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

また、Citrix ADCアプライアンスは、アクティブなトランザクションの数、応答時間、および異なる重みが割り当てられている場合の重みを使用して負荷分散を実行します。Citrix ADCアプライアンスは、次の式の値(Nw)を使用してサービスを選択します。

Nw = (N) * (10000/重量)

N =(アクティブなトランザクションの数 × モニタによって決定される応答時間)

次の図は、重みが割り当てられたときに、仮想サーバが LRTM 方式を使用する方法を示しています。

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

LRTweights

この例では、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値であるため、Citrix ADCアプライアンスは負荷分散のために選択しません。

次の表は、さまざまなモニタに対する Nw の計算方法をまとめたものです。

リクエストを受け取りました 選択されたサービス 現在のNw値 (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 を使用して LRTM ロードバランシング方式を設定するには

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

set lb vserver <name> [-lbMethod <lbMethod>]

例:

set lb vserver Vserver-LB-1 -lbMethod LRTM

GUI を使用して LRTM ロードバランシング方式を設定するには

  1. [トラフィック管理] > [負荷分散] > [仮想サーバー] に移動し、仮想サーバーを開きます。

  2. [詳細設定] で [LRTM] を選択します。

CLI を使用してモニタで LRTM オプションを有効にするには

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

set lb monitor <monitorName> <type> [-LRTM ( ENABLED | DISABLED )]

例:

set lb monitor monitor-HTTP-1 HTTP -LRTM ENABLED

GUI を使用してモニタで LRTM オプションを有効にするには

  1. [トラフィック管理] > [負荷分散] > [モニター] に移動し、モニターを開きます。
  2. 「拡張パラメータ」で、「 LRTM (監視を使用した最小応答時間)」を選択します。

モニタの構成の詳細については、ロードバランシング設定でのモニタの設定を参照してください。

LRTM (計算機)