[8.5.5.4 oder höher]

Skalierungsrichtlinien zur Verwaltung der Workload definieren

Skalierungsrichtlinien werden verwendet, um dynamische Cluster-Member ausgehend von konfigurierbaren Metriken zu starten und zu stoppen. Eine Skalierungsrichtlinie kann für alle oder für bestimmte Cluster definiert werden. Wenn keine Richtlinie definiert ist, wird eine integrierte Richtlinie verwendet.

Informationen zu diesem Vorgang

Der Skalierungscontroller verwendet Skalierungsrichtlinien, um Entscheidungen über die Verwaltung der Workload zu treffen. Standardmäßig ist eine integrierte Skalierungsrichtlinie in den Skalierungscontroller eingebettet. Bei Bedarf können Sie die integrierte Skalierungsrichtlinie überschreiben, indem Sie eine oder beide Elemente der Ausgangsebene (defaultScalingPolicy und scalingPolicy) definieren. Die integrierte Skalierungsrichtlinie sieht wie folgt aus:
  • Es werden mindestens zwei Cluster-Member aktiv gehalten, sofern verfügbar. Die minimale Anzahl kann möglicherweise nicht eingehalten werden, wenn einige oder alle Member die Metrikschwellenwerte überschreiten.
  • Es wird ein zusätzliches Cluster-Member gestartet, wenn die durchschnittliche CPU-Auslastung, Heapspeicher- oder Hauptspeicherbelegung aller aktiven Member 90 % überschreitet.
  • Ein Cluster-Member wird gestoppt, wenn die durchschnittliche CPU-Auslastung und Heapspeicherbelegung unter 30 % fällt.

Es kann eine Skalierungsrichtlinie für alle Cluster mit der Standardskalierungsrichtlinie definiert werden. Die Standardskalierungsrichtlinie übernimmt integrierte Skalierungsrichtlinienmetriken, einschließlich der Werte für die minimale und die maximale Anzahl an Instanzen. Alle vom Benutzer an der Standardskalierungsrichtlinie vorgenommenen Änderungen überschreiben die integrierten Werte. Werte, die in der Standardskalierungsrichtlinie nicht angegeben sind, werden von der integrierten Skalierungsrichtlinie übernommen.

Anders als die Standardskalierungsrichtlinie werden die Skalierungsrichtlinienmetriken nicht von der integrierten bzw. Standardskalierungsrichtlinie übernommen. Die minimale und die maximale Anzahl an Instanzen werden jedoch mit den Werten aus der integrierten Richtlinie initialisiert. Da Skalierungsmetriken als optionale Werte betrachtet werden, werden nur die in der Richtlinie angegebenen Metriken in Skalierungsentscheidungen einbezogen. Nicht in die Skalierungsrichtlinie eingeschlossene Metriken werden bei Skalierungsentscheidungen nicht analysiert.

Es gibt zwei Versionen von Skalierungsrichtlinien und Sie haben die Möglichkeit, die zuvor ausführlich beschriebene integrierte Skalierungsrichtlinie durch Definition eines oder beider Ausgangselemente zu überschreiben. Im Folgenden ist beschrieben, wie die beiden Versionen definiert werden können:
  • Standardskalierungsrichtlinie (defaultScalingPolicy)

    Sie können eine Standardskalierungsrichtlinie definieren, um alle Cluster zu verwalten, für die keine spezifischere Skalierungsrichtlinie definiert werden muss. .

    Das folgende Beispiel zeigt, wie eine Standardskalierungsrichtlinie definiert wird, bei der die Mindestanzahl der aktiven Cluster-Member auf drei gesetzt ist.
    <scalingDefinitions>
     <defaultScalingPolicy min="3"/>
    </scalingDefinitions>
  • Skalierungsrichtlinie (scalingPolicy)

    Sie können eine Skalierungsrichtlinie definieren, um einen oder mehrere Cluster mit zielgruppenspezifischen Kriterien, die in der Skalierungsrichtlinie definiert werden, zu verwalten. Da Skalierungsrichtliniendefinitionen keine Metrikschwellenwerte übernehmen, werden nur angegebene Metrikschwellenwerte überwacht. Alle anderen Schwellenwerte werden ignoriert, da sie sich auf Skalierungsrichtlinien beziehen. Die integrierten Skalierungsrichtlinienwerte für die minimale und die maximale Anzahl an Instanzen werden auch dann berücksichtigt, wenn sie nicht angegeben sind.

    Das folgende Beispiel zeigt, wie eine Skalierungsrichtlinie definiert wird, mit der die Schwellenwerte der CPU-Nutzung für das Starten und Stoppen von Server in einem Cluster mit dem Namen cluster1 geändert werden.
    <scalingDefinitions>
      <scalingPolicy id="cluster1Policy">
      <bind clusters="cluster1"/>
      <metric name="CPU" min="10" max="70"/>
     </scalingPolicy>
    </scalingDefinitions>
    Der Wert des Attributs clusters des Element bind ist eine Liste mit durch Kommata getrennten Clusternamen. Einen Stern als Platzhalter für null oder mehr Zeichen können Sie nur am Ende des Namens verwenden. Beispiel:
    <bind clusters="west,south*"/>
    In diesem Beispiel gilt die Skalierungsrichtlinie für einen Cluster mit dem Namen west und für alle Cluster, deren Name mit south beginnt. Wenn ein Clustername zu mehreren Richtlinien passt, verwendet der Skalierungscontroller die folgenden Regeln für die Wahl einer Richtlinie:
    • Eine exakte Übereinstimmung hat Vorrang vor einer Platzhalterübereinstimmung.
    • Wenn es mehrere Platzhalterübereinstimmungen gibt, wird die Richtlinie mit dem längsten Präfix verwendet.

Die Richtlinie führt die Skalierung auf den Standardwerten für die minimale und maximale Anzahl durch. Im vorherigen Beispiel werden die Cluster nur basierend auf den angegebenen CPU-Werten (min=10 und max=70) skaliert.

Metrikbasierte Skalierungsentscheidungen werden auf Clusterebene getroffen. Jedes Cluster-Member überwacht seine eigenen Metriken. Die CPU- und Hauptspeichermetrikwerte für einen Server entweder die des Server-JVM-Prozesses oder die des Server-Hosts, je nachdem, welche Werte höher sind. Der Metrikwert für den Heapspeicher wird nur vom Server-JVM-Prozess übernommen. Bei der Erkennung einer messbaren Änderung einer überwachten Metrik wird diese Metrik zur Analyse an den Controller gesendet. Alle Cluster-Member-Metriken werden summiert und dann wird für jede Metrik ein Clusterdurchschnittswert ermittelt. Der berechnete Wert für jede Metrik wird dann mit den definierten oberen und/oder unteren Schwellenwerten verglichen, um festzustellen, ob eine Skalierungsentscheidung ausgelöst wird.

Scale-out-Entscheidungen werden auf der Basis einer einzelnen Metrik getroffen. Alle überwachten Metriken werden für den Cluster analysiert, und falls eine der Metriken den maximalen Schwellenwert der Richtlinie überschreitet, wird ein Scale-out-Ereignis ausgelöst. Scale-in-Entscheidungen werden basierend auf allen überwachten Metriken getroffen. Der Clusterdurchschnittswert für jede überwachte Metrik wird analysiert. Wenn alle Metriken unterhalb des Mindestschwellenwerts der Richtlinie liegen, wird ein Scale-in-Ereignis ausgelöst.

Nachdem eine Skalierungsentscheidung getroffen wurde, wird ein Skalierungsziel ausgewählt. Das Skalierungsziel ist der Host, auf dem die Aktion zum Stoppen des Servers (für Scale-in) bzw. zum Starten des Servers (für Scale-out) ausgeführt wird. Bei der Bestimmung eines Ziels für eine Scale-out-Aktion werden Metriken auf Hostebene berücksichtigt. Wenn eine der Metriken auf Hostebene ihren maximalen Richtlinienschwellenwert überschreitet, wird dieser Host umgangen und ein anderer Host für die Scale-out-Aktion ausgewählt.

Vorgehensweise

  1. Fügen Sie zur Datei server.xml des Skalierungscontrollers die Standardskalierungsdefinitionen hinzu.
    <scalingDefinitions>
     <defaultScalingPolicy enabled="true" min="1" max="2"/>
    </scalingDefinitions>
    
        
  2. Wenn eine Skalierungsrichtlinie modifiziert wird, wird die Datei server.xml des Controllers auch modifiziert. Sie können überprüfen, ob die Datei messages.log die folgenden Nachrichten enthält, um sicherzugehen, dass der Controller erfolgreich aktualisiert wurde.
    CWWKG0016I: Die Aktualisierung der Serverkonfiguration wird gestartet.
    CWWKG0028A: Verarbeitung beinhaltet die folgende Konfigurationsressource: /opt/IBM/Liberty/wlp/usr/
    CWWKG0017I: Die Serverkonfiguration wurde erfolgreich in 0.052 Sekunden aktualisiert. 

Ergebnisse

Ihre Skalierungsrichtlinien sind jetzt definiert.


Symbol das den Typ des Artikels anzeigt. Taskartikel

Nutzungsbedingungen für Information Center | Feedback


Symbol für Zeitmarke Letzte Aktualisierung: 25.08.2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_wve_definingscalingpolicies
Dateiname: twlp_wve_definingscalingpolicies.html