ADC

Benutzerdefinierte Lademethode

Ein benutzerdefinierter Lastenausgleich wird für Serverparameter wie CPU-Auslastung, Arbeitsspeicher und Antwortzeit durchgeführt. Bei Verwendung der benutzerdefinierten Lademethode wählt die NetScaler Appliance normalerweise einen Dienst aus, der keine aktiven Transaktionen verarbeitet. Wenn alle Dienste im Load Balancing-Setup aktive Transaktionen verarbeiten, wählt die Appliance den Service mit der kleinsten Last aus. Ein spezieller Monitortyp, der als Lastmonitor bezeichnet wird, berechnet die Last für jeden Dienst im Netzwerk. Die Lastüberwachungen markieren nicht den Status eines Dienstes, aber sie nehmen Dienste aus der Lastausgleichsentscheidung heraus, wenn diese Dienste nicht UP sind.

Weitere Informationen zu Lastmonitoren finden Sie unter Grundlegendes zu Lastmonitoren. Das folgende Diagramm veranschaulicht, wie ein Lastmonitor funktioniert.

Abbildung 1. So funktionieren Lastmonitore

CustomLoad_working

Der Lastmonitor berechnet mithilfe von SNMP-Sonden die Belastung jedes Dienstes, indem er eine SNMP GET-Anfrage an den Dienst sendet. Diese Anforderung enthält eine oder mehrere Objekt-IDs (OIDs). Der Dienst antwortet mit einer SNMP-GET-Antwort mit Metriken, die den SNMP-OIDs entsprechen. Der Lastmonitor berechnet anhand der Antwortmetriken die Belastung des Dienstes.

Der Lastmonitor berechnet die Last auf einem Dienst mithilfe der folgenden Parameter:

  • Metrikwerte, die über SNMP-Prüfpunkte abgerufen werden, die als Tabellen in der NetScaler-Appliance vorhanden sind.
  • Für jede Metrik festgelegter Schwellenwert.
  • Jeder Metrik zugewiesenes Gewicht.

Betrachten Sie beispielsweise drei Dienste, Service-HTTP-1, Service-HTTP-2 und Service-HTTP-3.

  • Service-HTTP-1 verwendet 20 MB Speicher.
  • Service-HTTP-2 verwendet 70 MB Arbeitsspeicher.
  • Service-HTTP-3 verwendet 80 MB Speicher.

Die Server mit Lastausgleich können Metriken wie die CPU- und Speichernutzung an die Dienste exportieren, die sie wiederum dem Load Monitor zur Verfügung stellen können. Der Load Monitor sendet eine SNMP-GET-Anfrage mit den OIDs 1.3.6.1.4.1.5951.4.1.1.41.1.5, 1.3.6.1.4.1.5951.4.1.1.41.1.4 und 1.3.6.1.4.1.5951.4.1.1.41.1.3 an die Dienste. SNMP-OIDs vom Typ STRING werden nicht unterstützt, da Sie die Last nicht mithilfe einer STRING-OID berechnen können. Lasten können mithilfe anderer Datentypen wie INT und Gauge32 berechnet werden. Die drei Dienste antworten auf die Anfrage. Die NetScaler-Appliance vergleicht die exportierten Metriken und wählt dann Service-HTTP-1 aus, da sie über mehr verfügbaren Speicher verfügt. Das folgende Diagramm veranschaulicht diesen Vorgang.

Abbildung 2. So funktioniert die benutzerdefinierte Lademethode

custom_working2

Wenn jede Anforderung 10 MB Speicher verwendet, stellt die NetScaler-Appliance Anfragen wie folgt bereit:

  • Service-HTTP-1 empfängt die erste, zweite, dritte, vierte und fünfte Anfrage, da dieser Dienst den niedrigsten N-Wert hat.
  • Service-HTTP-1 und Service-HTTP-2 haben jetzt dieselbe Last, sodass der virtuelle Server für diese Server zur Round-Robin-Methode zurückkehrt. Daher erhält Service-HTTP-2 die sechste Anforderung, und Service-HTTP-1 empfängt die siebte Anforderung.
  • Da Service-HTTP-1, Service-HTTP-2 und Service-HTTP-3 jetzt alle dieselbe Last haben, kehrt der virtuelle Server auch auf die Round-Robin-Methode für Service-HTTP-3 zurück. Daher erhält Service-HTTP-3 die achte Anforderung.

In der folgenden Tabelle wird zusammengefasst, wie N berechnet wird.

Anfrage erhalten Dienst ausgewählt Aktueller N-Wert (Anzahl der aktiven Transaktionen) Bemerkungen
Request-1 Service-HTTP-1; (N = 20) N = 30 Service-HTTP-3 hat den niedrigsten N-Wert.
Request-2 Service-HTTP-1; (N = 30) N = 40 -
Request-3 Service-HTTP-1; (N = 40) N = 50 -
Request-4 Service-HTTP-1; (N = 50) N = 60 -
Request-5 Service-HTTP-1; (N = 60) N = 70 -
Request-6 Service-HTTP-1; (N = 70) N = 80 Service-HTTP-2 und Service-HTTP-3 haben dieselben N-Werte.
Request-7 Service-HTTP-2; (N = 70) N = 80 Service-HTTP-3 haben dieselben N-Werte.
Request-8 Service-HTTP-1; (N = 80) N = 90 Service-HTTP-1, Service-HTTP-2 und Service-HTTP-3 haben dieselben N-Werte.

Wenn den Diensten unterschiedliche Gewichte zugewiesen werden, berücksichtigt der benutzerdefinierte Lastalgorithmus sowohl die Belastung der einzelnen Dienste als auch die jedem Dienst zugewiesene Gewichtung. Es wählt einen Dienst aus, indem der Wert (Nw) im folgenden Ausdruck verwendet wird:

Nw = (N) * (10000/Gewicht)

Nehmen wir wie im vorherigen Beispiel an, Service-HTTP-1 wird eine Gewichtung von 4 zugewiesen, Service-HTTP-2 wird eine Gewichtung von 3 zugewiesen und Service-HTTP-3 wird eine Gewichtung von 2 zugewiesen. Wenn jede Anforderung 10 MB Speicher verwendet, stellt die NetScaler-Appliance Anfragen wie folgt bereit:

  • Service-HTTP-1 empfängt die erste, zweite, dritte, vierte, fünfte, sechste, siebte und achte Anfrage, da dieser Dienst den niedrigsten Nw-Wert hat.
  • Service-HTTP-2 empfängt die neunte Anfrage, da dieser Dienst den niedrigsten Nw-Wert hat.

Service-HTTP-3 hat den höchsten Nw-Wert und wird daher für den Lastenausgleich nicht berücksichtigt.

In der folgenden Tabelle wird zusammengefasst, wie Nw berechnet wird.

|Anfrage erhalten|Dienst ausgewählt|Aktueller Neuwert (Anzahl der aktiven Transaktionen) * (10000 /Gewicht)|Bemerkungen |-|-|-|-| |Request-1|Service-HTTP-1; (Jetzt = 50000)|Nw = 75000|Service-HTTP-1 hat den niedrigsten Nw-Wert. |Request-2|Service-HTTP-1; (Nw = 5000)|Neu = 100000|-| |Request-3|Service-HTTP-1; (Nw = 15000)|Nw = 125000|-| |Request-4|Service-HTTP-1; (Nw = 20000)|Neu = 150000|-| |Request-5|service-HTTP-1; (Jetzt = 23333.34)|Nw = 175000|-| |Request-6|Service-HTTP-1; (Jetzt = 25000)|Neu = 200000|-| |Request-7|service-HTTP-1; (Jetzt = 23333.34)|Neu = 225000|-| |request-8|service-HTTP-1; (Nw = 25000) |Nw = 250000||-| |Request-9|service-HTTP-2; (Nw = 233333.34) |Nw = 266666.67|Service-HTTP-2 hat den niedrigsten Nw-Wert.

Service-HTTP-1 wird für den Lastenausgleich ausgewählt, wenn es seine aktiven Transaktionen abschließt oder wenn der Nw-Wert anderer Dienste (Service-HTTP-2 und Service-HTTP-3) 400.000 beträgt.

Das folgende Diagramm zeigt, wie die NetScaler-Appliance die benutzerdefinierte Lademethode verwendet, wenn Gewichte zugewiesen werden.

Abbildung 3. Funktionsweise der benutzerdefinierten Lademethode beim Zuweisen von Gewichten

Benutzerdefinierte Lastgewichte

Informationen zum Konfigurieren der benutzerdefinierten Lademethode finden Sie unter Konfigurieren einer Load Balancing-Methode, die keine Richtlinie enthält.

Benutzerdefinierte Lademethode

In diesem Artikel