ADC

負荷分散アルゴリズム

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

負荷分散アルゴリズムには、ウェブサイト上のトラフィックの処理に最適なものもあれば、DNSサーバーへのトラフィックの管理に最適なものもあります。また、電子商取引や会社のLANやWANで使用される複雑なWebアプリケーションの処理に最適なものもあります。次の表は、NetScalerアプライアンスがサポートする各負荷分散アルゴリズムと、それぞれの動作方法の簡単な説明を示しています。

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

NetScalerアプライアンスは、負荷分散を行うサービスのプロトコルに応じて、クライアントとサーバー間の各接続が異なる時間間隔で持続するように設定します。これは負荷分散の細分性と呼ばれ、リクエストベース、接続ベース、時間ベースの3つのタイプがあります。次の表では、各タイプの粒度とその用途について説明します。

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

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

スタートアップ RR ファクターは次のように機能します。

  • Startup RR Factor がゼロに設定されている場合、アプライアンスは要求レートに応じて指定された負荷分散方法に切り替わります。
  • Startup RR Factor がゼロ以外の数値の場合、アプライアンスは指定された数のリクエストに対してラウンドロビン方式を使用してから、指定された負荷分散方式に切り替えます。
  • デフォルトでは、スタートアップ RR 係数はゼロに設定されています。

注:個々の仮想サーバーの起動 RR 係数は設定できません。指定した値は、NetScalerアプライアンス上のすべての仮想サーバーに適用されます。

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

コマンドプロンプトで入力します:

set lb parameter -startupRRFactor <positive_integer>

set lb parameter -startupRRFactor 25000

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

  1. [ トラフィック管理] > [ロードバランシング] > [ロードバランシングパラメータの設定] に移動し、[スタートアップ RR 係数] を設定します。
負荷分散アルゴリズム