負荷分散アルゴリズムは、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アプライアンス上のすべての仮想サーバーに適用されます。