Citrix ADC

負荷分散アルゴリズム

負荷分散アルゴリズムは、Citrix ADCアプライアンスが各クライアント要求をリダイレクトするサービスを選択するために使用する基準を定義します。ロードバランシングアルゴリズムによって、異なる基準が使用されます。たとえば、最小接続アルゴリズムは、アクティブな接続が最も少ないサービスを選択し、ラウンドロビンアルゴリズムはアクティブなサービスの実行中のキューを維持し、各接続をキュー内の次のサービスに分散し、そのサービスをキューの最後に送信します。

一部の負荷分散アルゴリズムは、Web サイト上のトラフィックを処理し、DNS サーバーへのトラフィックを管理し、E コマースや会社の LAN や WAN で使用される複雑な Web アプリケーションの処理に最も適しています。次の表に、Citrix ADCアプライアンスがサポートする各負荷分散アルゴリズムと、それぞれの動作方法について簡単に説明します。

名前 サーバ選択基準
LEASTCONNECTION 現在クライアント接続数が最も少ないサービス。これがデフォルトのロードバランシングアルゴリズムです。
ROUNDROBIN サービスのリストの一番上にあるサービス。そのサービスが接続用に選択されると、そのサービスはリストの一番下に移動します。
LEASTRESPONSETIME 現在最も速い応答時間を持つ負荷分散されたサーバー。
URLHASH 宛先 URL のハッシュ。
DOMAINHASH 宛先ドメインのハッシュ。
DESTINATIONIPHASH 宛先 IP アドレスのハッシュ。
SOURCEIPHASH 送信元 IP アドレスのハッシュ。
SRCIPDESTIPHASH 送信元と宛先 IP アドレスのハッシュ。
CALLIDHASH SIP ヘッダー内のコール ID のハッシュ。
SRCIPSRCPORTHASH クライアントの IP アドレスとポートのハッシュ。
LEASTBANDWIDTH 現在、帯域幅の制約が最も少ないサービス。
LEASTPACKETS 現在最も少ないパケットを受信しているサービス。
CUSTOMLOAD 負荷モニターからのデータ。
TOKEN 設定されたトークン。
LRTM アクティブな接続数が最小で、平均応答時間が最短です。
   

負荷分散を行うサービスのプロトコルに応じて、Citrix ADCアプライアンスは、クライアントとサーバー間の各接続を、異なる時間間隔で持続するように設定します。これは、ロードバランシングの粒度と呼ばれ、要求ベース、接続ベース、時間ベースの粒度の 3 種類があります。次の表では、粒度の種類と、それぞれの粒度を使用するタイミングについて説明します。

細分性 負荷分散サービスのタイプ 指定内容
要求ベース HTTPまたはHTTPS TCP 接続とは関係なく、各 HTTP 要求に対して新しいサービスが選択されます。すべての HTTP 要求と同様に、Web サーバーが要求を満たすと、接続は閉じられます。
コネクションベース HTTP 以外の TCP および TCP ベースのプロトコル サービスは新しい TCP 接続ごとに選択されます。接続は、サービスまたはクライアントによって終了されるまで保持されます。
時間ベース UDP およびその他の IP プロトコル UDP パケットごとに新しいサービスが選択されます。サービスを選択すると、指定した期間、サービスとクライアントの間にセッションが作成されます。この時間が経過すると、セッションは削除され、追加のパケットが同じクライアントから送信された場合でも、新しいサービスが選択されます。

仮想サーバの起動時、または仮想サーバの状態が変化するたびに、仮想サーバは最初にラウンドロビン方式を使用してクライアント要求を物理サーバ間で分散できます。このタイプの配布は、 スタートアップラウンドロビンと呼ばれ、最初の要求が処理される際、単一サーバーでの 不要な負荷を防ぐのに役立ちます。起動時にラウンドロビン方式を使用すると、仮想サーバは仮想サーバ上で指定されたロードバランシング方式に切り替わります。

スタートアップ RR 係数は、次のように動作します。

  • スタートアップ RR 係数がゼロに設定されている場合、アプライアンスは要求レートに応じて指定されたロードバランシング方式に切り替わります。
  • Startup RR Factor が 0 以外の数値である場合、アプライアンスは、指定された数の要求に対してラウンドロビン方式を使用し、指定されたロードバランシング方式に切り替えます。
  • 既定では、[スタートアップ RR 係数] はゼロに設定されています。

注:個々の仮想サーバーに対してスタートアップ RR 係数を設定することはできません。指定する値は、Citrix ADCアプライアンス上のすべての仮想サーバーに適用されます。

CLI を使用して起動ラウンドロビン係数を設定するには

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

set lb parameter -startupRRFactor <positive_integer>

set lb parameter -startupRRFactor 25000

GUI を使用して起動ラウンドロビン係数を設定するには

  1. [トラフィック管理] > [ロードバランシング] > [ロードバランシングパラメータの構成] に移動し、[スタートアップ RR 係数] を設定します。

負荷分散アルゴリズム