注: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-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 メソッドの仕組み
仮想サーバーは、次の式で値 (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)よりも小さい場合に、ロードバランシングのために再び選択されます。