ADC

Load Balancing-Algorithmen

Der Load-Balancing-Algorithmus definiert die Kriterien, anhand derer die NetScaler-Appliance den Dienst auswählt, an den jede Client-Anfrage umgeleitet werden soll. Verschiedene Load-Balancing-Algorithmen verwenden unterschiedliche Kriterien. Beispielsweise wählt der Algorithmus mit der geringsten Verbindung den Dienst mit den wenigsten aktiven Verbindungen aus, während der Round-Robin-Algorithmus eine laufende Warteschlange mit aktiven Diensten verwaltet, jede Verbindung an den nächsten Dienst in der Warteschlange verteilt und diesen Dienst dann an das Ende der Warteschlange sendet.

Einige Load-Balancing-Algorithmen eignen sich am besten für den Verkehr auf Websites, andere für die Verwaltung des Datenverkehrs zu DNS-Servern und andere für die Verwaltung komplexer Webanwendungen, die im E-Commerce oder in Unternehmens-LANs oder WANs verwendet werden. In der folgenden Tabelle sind alle Load-Balancing-Algorithmen aufgeführt, die die NetScaler-Appliance unterstützt, mit einer kurzen Beschreibung ihrer Funktionsweise.

Name Serverauswahl basierend auf
GERINGSTE VERBINDUNG Welcher Dienst hat derzeit die wenigsten Client-Verbindungen. Dies ist der Standard-Load-Balancing-Algorithmus.
ROUNDROBIN Welcher Dienst steht ganz oben auf einer Liste von Diensten. Nachdem dieser Dienst für eine Verbindung ausgewählt wurde, wird er an das Ende der Liste verschoben.
GERINGSTE REAKTIONSZEIT Welcher Server mit Lastausgleich hat derzeit die schnellste Reaktionszeit.
URL-HASH Ein Hash der Ziel-URL.
DOMAIN-HASH Ein Hash der Zieldomain.
DESTINATIONIPHASH Ein Hash der Ziel-IP-Adresse.
SOURCEIPHASH Ein Hash der Quell-IP-Adresse.
SRCIPDESTIPHASH Ein Hash der Quell- und Ziel-IP-Adressen.
CALLIDHASH Ein Hash der Anruf-ID im SIP-Header.
SCRIPT SRCPORTHASH Ein Hash der IP-Adresse und des Port des Clients.
LEASTBANDWIDTH Welcher Dienst hat derzeit die wenigsten Bandbreitenbeschränkungen.
LEASTPACKETS Welcher Dienst empfängt derzeit die wenigsten Pakete.
BENUTZERDEFINIERTE LADUNG Daten von einem Lastmonitor.
WERTMARKE Das konfigurierte Token.
LRTM Die wenigsten aktiven Verbindungen und die niedrigste durchschnittliche Reaktionszeit.
Statische Nähe Der Service, der den Näherungskriterien am besten entspricht.
Wenigsten Anfragen Welcher Dienst hat derzeit die wenigsten Kundenanfragen.
   

Abhängig vom Protokoll des Dienstes, bei dem es sich um einen Lastenausgleich handelt, richtet die NetScaler-Appliance jede Verbindung zwischen Client und Server so ein, dass sie für ein anderes Zeitintervall besteht. Dies wird als Load-Balancing-Granularität bezeichnet. Es gibt drei Typen: anforderungsbasierte, verbindungsbasierte und zeitbasierte Granularität. In der folgenden Tabelle werden die einzelnen Granularitätstypen beschrieben und wann sie verwendet werden.

Granularität Arten von Load Balanced-Diensten Spezifiziert
Auf Anfrage HTTP oder HTTPS Für jede HTTP-Anfrage wird unabhängig von TCP-Verbindungen ein neuer Dienst ausgewählt. Wie bei allen HTTP-Anfragen wird die Verbindung geschlossen, nachdem der Webserver die Anfrage erfüllt hat.
Verbindungsbasiert TCP und TCP-basierte Protokolle außer HTTP Für jede neue TCP-Verbindung wird ein Dienst ausgewählt. Die Verbindung bleibt bestehen, bis sie entweder vom Dienst oder vom Client beendet wird.
Zeitbasiert UDP und andere IP-Protokolle Für jedes UDP-Paket wird ein neuer Dienst ausgewählt. Bei Auswahl eines Dienstes wird eine Sitzung zwischen dem Dienst und einem Client für einen bestimmten Zeitraum erstellt. Wenn die Zeit abgelaufen ist, wird die Sitzung gelöscht und ein neuer Dienst für zusätzliche Pakete ausgewählt, selbst wenn diese Pakete vom selben Client stammen.

Beim Start eines virtuellen Servers oder wenn sich der Status eines virtuellen Servers ändert, kann der virtuelle Server zunächst die Round-Robin-Methode verwenden, um die Client-Anfragen auf die physischen Server zu verteilen. Diese Art der Verteilung, die als Startup-Round-Robin bezeichnet wird, trägt dazu bei, unnötige Belastung eines einzelnen Servers zu vermeiden, wenn die ersten Anfragen bearbeitet werden. Nachdem der virtuelle Server beim Start die Round-Robin-Methode verwendet hat, wechselt er zu der auf dem virtuellen Server angegebenen Load-Balancing-Methode.

Der Startup RR Factor funktioniert auf folgende Weise:

  • Wenn der Startup-RR-Faktor auf Null gesetzt ist, wechselt die Appliance je nach Anforderungsrate zur angegebenen Load-Balancing-Methode.
  • Wenn der Start-RR-Faktor eine andere Zahl als Null ist, verwendet die Appliance die Round-Robin-Methode für die angegebene Anzahl von Anfragen, bevor sie zur angegebenen Load-Balancing-Methode wechselt.
  • Standardmäßig ist der Startup RR Factor auf Null gesetzt.

Hinweis: Sie können den Start-RR-Faktor nicht für einen einzelnen virtuellen Server festlegen. Der von Ihnen angegebene Wert gilt für alle virtuellen Server auf der NetScaler-Appliance.

So legen Sie den Round-Robin-Faktor beim Starten mithilfe der CLI fest

Geben Sie in der Befehlszeile Folgendes ein:

set lb parameter -startupRRFactor <positive_integer>

Beispiel

set lb parameter -startupRRFactor 25000

So legen Sie den Round-Robin-Faktor beim Starten mithilfe der GUI fest

  1. Navigieren Sie zu Traffic Management > Load Balancing > Lastenausgleichsparameter konfigurieren, und legen Sie den Start-RR-Faktor fest.
Load Balancing-Algorithmen