Citrix ADC

Benutzerdefinierte Lademethode

Benutzerdefinierter Lastenausgleich wird für Serverparameter wie CPU-Auslastung, Arbeitsspeicher und Antwortzeit durchgeführt. Bei Verwendung der benutzerdefinierten Lademethode wählt die Citrix ADC Appliance normalerweise einen Dienst aus, der keine aktiven Transaktionen verarbeitet. Wenn alle Dienste im Lastausgleichs-Setup aktive Transaktionen verarbeiten, wählt die Appliance den Dienst 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 Hinweise zu Lastmonitoren finden Sie unter Grundlegendes zu Lastmonitoren. Das folgende Diagramm veranschaulicht, wie ein Lastmonitor funktioniert.

Abbildung 1. Funktionsweise von Lastmonitoren

CustomLoad_working

Der Lastmonitor verwendet SNMP-Prüfpunkte (Simple Network Management Protocol), um die Last für jeden Dienst zu berechnen, indem eine SNMP-GET-Anforderung an den Dienst gesendet wird. 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 verwendet die unten beschriebenen Antwortmetriken, um die Last auf dem Dienst zu berechnen.

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 Citrix ADC Appliance vorhanden sind.
  • Schwellenwert für jede Metrik festgelegt.
  • Gewicht, das jeder Metrik zugewiesen wird.

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

  • Service-HTTP-1 verwendet 20 Megabyte (MB) Arbeitsspeicher.
  • Service-HTTP-2 verwendet 70 MB Arbeitsspeicher.
  • Service-HTTP-3 verwendet 80 MB Arbeitsspeicher.

Die Server mit Lastausgleich können Metriken wie CPU- und Speicherauslastung in die Dienste exportieren, was sie wiederum dem Lastmonitor zur Verfügung stellen kann. Der Lastmonitor sendet eine SNMP-GET-Anforderung 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 mit anderen Datentypen wie INT und Gauge32 berechnet werden. Die drei Dienste beantworten die Anfrage. Die Citrix ADC Appliance vergleicht die exportierten Metriken und wählt dann Service-HTTP-1 aus, da mehr Speicher verfügbar ist. Das folgende Diagramm veranschaulicht diesen Vorgang.

Abbildung 2. Funktionsweise der benutzerdefinierten Lademethode

custom_working2

Wenn jede Anforderung 10 MB Arbeitsspeicher verwendet, sendet die Citrix ADC Appliance Anforderungen wie folgt:

  • Service-HTTP-1 empfängt die erste, zweite, dritte, vierte und fünfte Anforderung, da dieser Dienst den niedrigsten N-Wert hat.
  • Service-HTTP-1 und Service-HTTP-2 haben jetzt die gleiche Last, so dass der virtuelle Server auf die Roundrobin-Methode für diese Server 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 gleiche Last haben, kehrt der virtuelle Server auf die Roundrobin-Methode für Service-http-3 zurück. Daher erhält Service-HTTP-3 die achte Anforderung.

Die folgende Tabelle fasst zusammen, wie N berechnet wird.

Anfrage erhalten Service 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 die gleichen N-Werte.
Request-7 Service-HTTP-2; (N = 70) N = 80 Service-HTTP-3 haben die gleichen N-Werte.
Request-8 Service-HTTP-1; (N = 80) N = 90 Service-http-1, service-http-2 und service-http-3 haben die gleichen N-Werte.

Wenn den Diensten unterschiedliche Gewichtungen zugewiesen werden, berücksichtigt der benutzerdefinierte Lastalgorithmus sowohl die Last für jeden Dienst als auch das Gewicht, das jedem Service zugewiesen ist. Es wählt einen Dienst mithilfe des Wertes (Nw) im folgenden Ausdruck aus:

Nw = (N) * (10000/Gewicht)

Wie im vorangegangenen Beispiel wird Service-http-1 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 Arbeitsspeicher verwendet, sendet die Citrix ADC Appliance Anforderungen wie folgt:

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

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

Die folgende Tabelle fasst zusammen, wie Nw berechnet wird.

Anfrage erhalten Service ausgewählt Aktueller Nw-Wert (Anzahl der aktiven Transaktionen) * (10000/Gewicht) Bemerkungen  
Request-1 Service-HTTP-1; (Nw = 50000) Nw = 75000 Service-HTTP-1 hat den niedrigsten Nw-Wert.  
Request-2 Service-HTTP-1; (Nw = 5000) Nw = 100000 -  
Request-3 Service-HTTP-1; (Nw = 15000) Nw = 125000 -  
Request-4 Service-HTTP-1; (Nw = 20000) Nw = 150000 -  
Request-5 Service-HTTP-1; (Nw = 23333,34) Nw = 175000 -  
Request-6 Service-HTTP-1; (Nw = 25000) Nw = 200000 -  
Request-7 Service-HTTP-1; (Nw = 23333,34) Nw = 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 er 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 veranschaulicht, wie die Citrix ADC Appliance die benutzerdefinierte Lademethode verwendet, wenn Gewichtungen zugewiesen werden.

Abbildung 3. Funktionsweise der benutzerdefinierten Lademethode beim Zuweisen von Gewichten

kundenspezifische Lastgewichte

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

Benutzerdefinierte Lademethode