Citrix ADC

Schrittweise die Last eines neuen Dienstes mit langsamem Start auf virtueller Serverebene erhöhen

Sie können die Citrix ADC Appliance so konfigurieren, dass die Last eines Diensts schrittweise erhöht wird (die Anzahl der Anforderungen, die der Dienst pro Sekunde erhält), unmittelbar nachdem der Dienst entweder zu einer Lastausgleichskonfiguration hinzugefügt wurde oder eine Statusänderung von DOWN zu UP (im Folgenden wird der Begriff “neuer Dienst” für beide Situationen). Sie können die Last entweder manuell mit Lastwerten und Intervallen Ihrer Wahl erhöhen (manueller langsamer Start) oder die Appliance so konfigurieren, dass sie die Last in einem bestimmten Intervall erhöht (automatischer langsamer Start), bis der Dienst so viele Anforderungen erhält wie die anderen Dienste in der Konfiguration. Während des Hochlaufzeitraums für den neuen Dienst verwendet die Appliance die konfigurierte Lastausgleichsmethode.

Diese Funktionalität ist nicht global verfügbar. Es muss für jeden virtuellen Server konfiguriert werden. Die Funktionalität ist nur für virtuelle Server verfügbar, die eine der folgenden Lastausgleichsmethoden verwenden:

  • Round Robin
  • Geringste Verbindung
  • Geringste Reaktionszeit
  • Geringste Bandbreite
  • Am wenigsten Pakete
  • LRTM (Methode der geringsten Antwortzeit)
  • Benutzerdefiniertes Laden

Für diese Funktionalität müssen Sie die folgenden Parameter festlegen:

  • Die neue Serviceanforderungsrate, d. h. der Betrag, um den die Anzahl oder den Prozentsatz der Anforderungen erhöht werden, die bei jeder Erhöhung der Rate an einen neuen Dienst gesendet werden. Das heißt, Sie geben die Größe des Inkrements entweder in Bezug auf die Anzahl der Anforderungen pro Sekunde oder den Prozentsatz der Last an, die zu diesem Zeitpunkt von den vorhandenen Diensten getragen wird. Wenn dieser Wert auf 0 (Null) festgelegt ist, wird der langsame Start für neue Dienste nicht ausgeführt.

    Hinweis: Im automatisierten Langsamstartmodus ist das letzte Inkrement kleiner als der angegebene Wert, wenn der angegebene Wert den neuen Dienst schwerer belasten würde als die anderen Dienste.

  • Das Inkrementintervall in Sekunden. Wenn dieser Wert auf 0 (Null) gesetzt ist, wird die Last nicht automatisch erhöht. Sie müssen es manuell erhöhen.

Bei automatischem langsamen Start wird ein Dienst aus der langsamen Startphase genommen, wenn eine der folgenden Bedingungen zutrifft:

  • Die tatsächliche Anforderungsrate ist niedriger als die neue Serviceanforderungsrate.
  • Der Dienst empfängt keinen Datenverkehr für drei aufeinanderfolgende Inkrementintervalle.
  • Die Anforderungsrate wurde 200 Mal erhöht.
  • Der Prozentsatz des Datenverkehrs, den der neue Dienst empfangen muss, ist größer oder gleich 100.

Beim manuellen langsamen Start bleibt der Dienst in der langsamen Startphase, bis Sie ihn aus dieser Phase herausnehmen.

Manueller langsamer Start

Wenn Sie die Last für einen neuen Dienst manuell erhöhen möchten, geben Sie kein Inkrementintervall für den virtuellen Lastausgleichsserver an. Geben Sie nur die neue Serviceanforderungsrate und die Einheiten an. Da kein Intervall angegeben ist, erhöht die Appliance die Last nicht periodisch. Es behält die Last auf den neuen Dienst mit dem Wert bei, der durch die Kombination aus der neuen Serviceanforderungsrate und Einheiten angegeben wird, bis Sie einen der Parameter manuell ändern. Wenn Sie beispielsweise die neue Serviceanforderungsrate und die Einheitsparameter auf 25 bzw. “pro Sekunde” festlegen, behält die Appliance die Last für den neuen Dienst bei 25 Anforderungen pro Sekunde bei, bis Sie einen der Parameter ändern. Wenn der neue Dienst den langsamen Startmodus beenden und so viele Anforderungen wie die vorhandenen Dienste empfangen soll, legen Sie den neuen Parameter für die Serviceanforderungsrate auf 0 fest.

Nehmen Sie beispielsweise an, dass Sie einen virtuellen Server zum Lastenausgleich 2 Dienste, Service1 und Service2, im Round-Robin-Modus verwenden. Ferner wird davon ausgegangen, dass der virtuelle Server 240 Anforderungen pro Sekunde empfängt und dass er die Last gleichmäßig über die Dienste verteilt. Wenn ein neuer Dienst, Service3, zur Konfiguration hinzugefügt wird, sollten Sie die Last auf ihn manuell durch Werte von 10, 20 und 40 Anforderungen pro Sekunde erhöhen, bevor Sie den vollen Anteil der Last senden. Die folgende Tabelle zeigt die Werte, auf die Sie die drei Parameter festlegen.

Tabelle 1. Parameterwerte

Parameter Wert
Intervall in Sekunden 0
Neue Serviceanforderungsrate 10, 20, 40 und 0, in Intervallen, die Sie wählen
Einheiten für die neue Serviceanforderungsrate Anfragen pro Sekunde

Wenn Sie den neuen Service-Requestrate-Parameter auf 0 setzen, wird Service3 nicht mehr als neuer Dienst betrachtet und erhält seinen vollen Anteil der Last.

Angenommen Sie, Sie einen anderen Dienst, Service4, während der Hochlaufzeit für Service3 hinzufügen. In diesem Beispiel wird Service4 hinzugefügt, wenn der neue Parameter für die Serviceanfrage auf 40 festgelegt ist. Daher beginnt Service4 40 Anfragen pro Sekunde zu empfangen.

Die folgende Tabelle zeigt die Lastverteilung der Dienste während des in diesem Beispiel beschriebenen Zeitraums.

Tabelle 2. Lastverteilung auf Services beim manuellen Aufstieg der Last

  Rate der neuen Serviceanfrage = 10 Anforderungen/Sek. (Service3added) Rate der neuen Serviceanfrage = 20 Anforderungen/Sek. Rate der neuen Serviceanfrage = 40 Anforderungen/Sek. (Service4added) Neue Serviceanforderungsrate = 0 req/sec (neue Dienste beenden langsamen Startmodus)
Service1 115 110 80 60
Service2 115 110 80 60
Service3 10 20 40 60
Service4 - - 40 60
Gesamte Req/sec (Last auf dem virtuellen Server) 240 240 240 240

Automatischer langsamer Start

Wenn Sie möchten, dass die Appliance die Last eines neuen Dienstes automatisch in bestimmten Intervallen erhöht, bis der Dienst als fähig angesehen werden kann, seinen vollen Anteil der Last zu verarbeiten, legen Sie den neuen Parameter für die Serviceanfrage, den Einheitenparameter und das Inkrementintervall fest. Wenn alle Parameter auf andere Werte als 0 gesetzt sind, erhöht die Appliance die Last für einen neuen Dienst um den Wert der neuen Serviceanforderungsrate im angegebenen Intervall, bis der Dienst seinen vollen Anteil an der Last erhält.

Angenommen, vier Dienste, Service1, Service2, Service3 und Service4, sind an einen virtuellen Lastausgleichsserver vserver1 gebunden. Nehmen Sie ferner an, dass vserver1 100 Anforderungen pro Sekunde empfängt und die Last gleichmäßig auf die Dienste verteilt (25 Anforderungen pro Sekunde pro Dienst). Wenn Sie der Konfiguration einen fünften Dienst, Service5, hinzufügen, möchten Sie möglicherweise, dass die Appliance den neuen Dienst 4 Anforderungen pro Sekunde für die ersten 10 Sekunden, 8 Anforderungen pro Sekunde für die nächsten 10 Sekunden usw. sendet, bis 20 Anforderungen pro Sekunde empfangen wird. Für diese Anforderung zeigt die folgende Tabelle die Werte, auf die Sie die drei Parameter einstellen:

Tabelle 3. Parameterwerte

Parameter Wert
Intervall in Sekunden 10
Inkrementwert 4
Einheiten für die neue Serviceanforderungsrate Anfragen pro Sekunde

Mit dieser Konfiguration beginnt der neue Dienst 50 Sekunden, nachdem er hinzugefügt wurde oder sein Status von DOWN in UP geändert wurde, so viele Anforderungen wie die vorhandenen Dienste zu empfangen. Während jedes Intervalls in diesem Zeitraum verteilt die Appliance den Überschuss an Anforderungen, die ohne schrittweise Inkremente an den neuen Dienst gesendet worden wären, an die vorhandenen Server. In Ermangelung von schrittweisen Schritten hätte jeder Dienst, einschließlich Service5, 20 Anfragen pro Sekunde erhalten. In schrittweisen Schritten verteilt die Appliance während der ersten 10 Sekunden, wenn Service5 nur 4 Anforderungen pro Sekunde empfängt, den Überschuss von 16 Anforderungen pro Sekunde an die vorhandenen Dienste, was zu dem Verteilungsmuster in der folgenden Tabelle und Abbildung über den Zeitraum von 50 Sekunden führt. Nach der 50-Sekunden-Periode gilt Service5 nicht mehr als neuer Dienst und erhält seinen normalen Anteil am Verkehr.

Tabelle 4. Lastverteilungsmuster für alle Dienste für den 50-Sekunden-Zeitraum unmittelbar nach dem Hinzufügen von Service5

  0 Sek. 10 Sek. 20 Sek. 30 Sek. 40 s 50 s
Anruf/Sek für Service1 25 24 23 22 21 20
Anruf/Sek für Service2 25 24 23 22 21 20
Anruf/Sek für Service3 25 24 23 22 21 20
Anruf/Sek für Service4 25 24 23 22 21 20
Anruf/Sek für Service5 0 4 8 12 16 20
Gesamte Req/sec (Last auf dem virtuellen Server) 100 100 100 100 100 100

Abbildung 1. Diagramm des Lastverteilungsmusters für alle Dienste für den 50-Sekunden-Zeitraum unmittelbar nach dem Hinzufügen von Service5

Lastverteilungsdiagramm

Eine alternative Anforderung besteht möglicherweise darin, dass die Appliance Service5 25% der Auslastung der vorhandenen Dienste in den ersten 5 Sekunden, 50% in den nächsten 5 Sekunden usw. sendet, bis 20 Anforderungen pro Sekunde empfangen wird. Für diese Anforderung zeigt die folgende Tabelle die Werte, auf die Sie die drei Parameter festlegen.

Tabelle 5. Parameterwerte

Parameter Wert
Intervall in Sekunden 5
Inkrementwert 25
Einheiten für die neue Serviceanforderungsrate Prozent

Mit dieser Konfiguration beginnt der Dienst 20 Sekunden, nachdem er hinzugefügt wurde oder sein Status von DOWN in UP geändert wurde, so viele Anforderungen wie die vorhandenen Dienste zu empfangen. Die Verkehrsverteilung während der Hochlaufzeit für den neuen Dienst ist identisch mit der zuvor beschriebenen, wobei die Einheit für die Schrittschritte “Anforderungen pro Sekunde” war.

Setze die Parameter für den langsamen Start

Sie legen die langsamen Startparameter entweder mit dem Befehl set lb vserver oder dem Befehl add lb vserver fest. Der folgende Befehl dient zum Festlegen von langsamen Startparametern beim Hinzufügen eines virtuellen Servers.

So konfigurieren Sie stufenweise Lastinkremente für einen neuen Dienst mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um schrittweise Inkremente der Last für einen Dienst zu konfigurieren und die Konfiguration zu überprüfen:

add lb vserver <name> <serviceType> <IPAddress> <port> [-newServiceRequest <positive_integer>] [<newServiceRequestUnit>] [-newServiceRequestIncrementInterval <positive_integer>]

show lb vserver <name>

Beispiel

set lb vserver BR_LB -newServiceRequest 5 PER_SECOND -newServiceRequestIncrementInterval 10
Done

show lb vserver BR_LB
BR_LB (192.0.2.33:80) - HTTP Type: ADDRESS
State: UP
...
...
New Service Startup Request Rate: 5 PER_SECOND, Increment Interval: 10
...
...
Done

So konfigurieren Sie schrittweise Lastinkremente für einen neuen Dienst mit dem Konfigurationsdienstprogramm

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und öffnen Sie einen virtuellen Server.
  2. Wählen Sie unter Erweiterte Einstellungen die Option Methode aus, und legen Sie die folgenden langsamen Startparameter fest:
    • Rate der neuen Dienststartanforderung.
    • Neue Serviceanforderungseinheit.
    • Inkrementierungsintervall.

Schrittweise die Last eines neuen Dienstes mit langsamem Start auf virtueller Serverebene erhöhen