Load Balancer
Der Load Balancer verteilt Aufgaben, um eine optimale Leistung und Skalierbarkeit zu erzielen. Wenn Sie einen Arbeitsablauf ausführen, verteilt der Load Balancer die Sitzungs-, Befehls- und vordefinierten Event-Wait-Aufgaben innerhalb des Arbeitsablaufs. Der Load Balancer gleicht die Aufgabenanforderungen mit der Ressourcenverfügbarkeit ab und ermittelt so den besten Knoten für die Ausführung einer Aufgabe. Er sendet die Aufgabe an einen PowerCenter Integration Service-Prozess, der auf dem Knoten ausgeführt wird. Er kann Aufgaben an einen einzelnen Knoten oder über mehrere Knoten verteilen.
Der Load Balancer verteilt die Aufgaben in der Reihenfolge ihres Eingangs. Wenn der Load Balancer mehr Sitzungs- und Befehlsaufgaben verteilen muss, als der PowerCenter Integration Service ausführen kann, werden die nicht ausführbaren Aufgaben in eine Warteschlange gestellt. Sobald Knoten verfügbar werden, verteil der Load Balancer Versand die Aufgaben aus der Warteschlange in der durch die Dienstebene des Arbeitsablaufs bestimmten Reihenfolge.
Die folgenden Konzepte beschreiben die Funktionalität des Load Balancers:
- •Dispatch-Prozess. Der Load Balancer führt mehrere Schritte aus, um Aufgaben zu verteilen.
- •Ressourcen. Der Load Balancer kann PowerCenter Ressourcen nutzen, um zu ermitteln, ob eine Aufgabe an einen Knoten gesendet werden kann.
- •Schwellenwerte für die Ressourcen-Bereitstellung. Der Load Balancer nutzt Ressourcenbereitstellungsgrenzen, um zu ermitteln, ob weitere Aufgaben auf einem Knoten gestartet werden können.
- •Sendemodus. Der Sendemodus bestimmt, wie der Load Balancer Knoten für die Verteilung auswählt.
- •Dienstebenen. Wenn mehrere Aufgaben in der Dispatch-Warteschlange anstehen, bestimmt der Load Balancer anhand der Dienstebenen die Reihenfolge, in der die Aufgaben aus der Warteschlange verteilt werden.
Dispatch-Prozess
Der Load Balancer verwendet bei der Verteilung von Tasks verschiedene Kriterien, je nachdem, ob der PowerCenter Integration Service auf einem Knoten oder einem Gitter ausgeführt wird.
Tasks auf einem Knoten verteilen
Wenn der PowerCenter Integration Service auf einem Knoten ausgeführt wird, führt der Load Balancer zur Verteilung des Task folgenden Schritte aus:
- 1Er prüft die Schwellenwerte der Ressourcenbereitstellung auf dem Knoten. Wenn die Verteilung des Task dazu führt, dass ein Schwellenwert überschritten wird, wird dieser Task in die Warteschlange gestellt und später verteilt.
Der Load Balancer prüft die verschiedenen Schwellenwerte je nach Verteilungsmodus.
- 2Er verteilt alle Tasks an den Knoten, der den Masterprozess des PowerCenter Integration Service ausführt.
Tasks in einem Gitter verteilen
Wenn der PowerCenter Integration Service auf einem Gitter läuft, führt der Load Balancer folgende Schritte aus, um festzulegen, auf welchem Knoten eine Task ausgeführt werden soll:
- 1Der Load Balancer überprüft, welche Knoten gerade laufen und aktiviert sind.
- 2Wenn Sie den PowerCenter Integration Service auf die Überprüfung der Ressourcen-Anforderungen konfigurieren, identifiziert der Load Balancer die Knoten mit den für die Tasks in den Arbeitsabläufen erforderlichen PowerCenter-Ressourcen.
- 3Der Load Balancer prüft, dass die Schwellenwerte für die Ressourcenbeschaffung auf keinem der möglichen Knoten überschritten werden. Wird beim Dispatchen der Task ein Schwellenwert überschritten, stellt der Load Balancer die Task in die Dispatch-Warteschlange und das Dispatchen der Task erfolgt später.
Der Load Balancer prüft die Schwellenwerte basierend auf den Dispatch-Modes.
- 4Die Auswahl des Knotens durch den Load Balancer erfolgt basierend auf dem Dispatch-Modus.
Ressourcen
Sie können den PowerCenter Integration Service so konfigurieren, dass er die verfügbaren Ressourcen auf jedem Knoten überprüft und sie mit den zur Ausführung der Task erforderlichen Ressourcen abgleicht. Wenn Sie den PowerCenter Integration Service so konfigurieren, dass er auf einem Gitter laufen und Ressourcen, überprüfen soll, sendet der Load Balancer eine Task an einen Knoten, auf dem die erforderlichen PowerCenter-Ressourcen zur Verfügung stehen. Zum Beispiel: Wenn eine Sitzung eine SAP-Quelle verwendet, sendet der Load Balancer die Sitzung nur an Knoten, auf denen der SAP-Client installiert ist. Wenn keiner der verfügbaren Knoten über die erforderlichen Ressourcen verfügt, schlägt di PowerCenter Integration Service-Task fehl.
Im Administrator Tool können Sie konfigurieren, dass der PowerCenter Integration Service Ressourcen prüft.
Die für einen Knoten verfügbaren Ressource definieren Sie im Administrator Tool. Die von einer Task benötigten Ressourcen weisen Sie in den Eigenschaften der Task zu.
Der PowerCenter Integration Service schreibt Informationen zu Ressourcenanforderungen und -verfügbarkeit in das Arbeitsablauf-Log.
Schwellenwerte für die Ressourcenbereitstellung
Der Load Balancer nutzt Ressourcenbereitstellungsgrenzen, um zu die maximale Last zu ermitteln, die auf einem Knoten annehmbar ist. Der Load Balancer kann eine Task an einen Knoten schicken, wenn das Versenden der Task nicht bewirkt, dass die Ressourcenbereitstellungsgrenze überschritten wird.
Der Load Balancer prüft folgende Schwellenwerte:
- •Maximale Länge der CPU-Ausführungswarteschlange Maximale Anzahl an ausführbaren Threads, die auf CPU-Ressourcen auf dem Knoten warten. Der Load Balancer schließt den Knoten aus, wenn die maximale Anzahl der wartenden Threads überschritten wird.
Der Load Balancer prüft diesen Grenzwert im metrikbasierten und adaptiven Dispatch-Modus.
- •Maximaler Speicher % Maximaler Prozentsatz des virtuellen Speichers, der auf dem Knoten relativ zur Gesamtgröße des virtuellen Speichers zugeordnet ist. Der Load Balancer schließt den Knoten aus, wenn der Versand des Task dazuführt, dass dieser Schwellenwert überschritten wird.
Der Load Balancer prüft diesen Grenzwert im metrikbasierten und adaptiven Dispatch-Modus.
- •Maximale Anzahl an Prozessen Maximale Anzahl der ausgeführten Prozesse, die für jeden PowerCenter Integration Service-Prozess zulässig sind, der auf dem Knoten ausgeführt wird. Der Load Balancer schließt den Knoten aus, wenn der Versand des Task dazuführt, dass dieser Schwellenwert überschritten wird.
Der Load Balancer prüft diesen Grenzwert in allen Dispatch-Modi.
Wenn alle Knoten im Gitter die Ressourcenbereitstellungsgrenzen erreicht haben, bevor ein PowerCenter-Task geschickt wurde, versendet der Load Balancer Depeschen die Tasks einen nach dem anderen, um so zu gewährleisten, dass die PowerCenter-Tasks noch ausgeführt werden.
Sie definieren die Ressourcenbereitstellungsgrenzen in den Knoteneigenschaften.
Dispatch-Modus
Der Dispatch-Modus bestimmt, wie der Load Balancer Knoten zum Verteilen von Arbeitsablauf-Tasks auswählt. Der Load Balancer arbeitet mit folgenden Dispatch-Modes:
- •Rundlauf. Der Load Balancer versendet im Rundlaufverfahren Tasks an verfügbare Knoten. Er prüft den Schwellenwert für die maximale Anzahl der Prozesse auf jedem verfügbaren Knoten und schließt einen Knoten aus, wenn der Schwellenwert durch Versenden der Task überschritten wird. Dieser Modus ist am wenigsten rechenintensiv und nützlich, wenn die Last auf dem Gitter gleichmäßig verteilt ist und die zu versendenden Tasks gleiche Anforderungen an die Rechenkapazität stellen.
- •Metrisch basiert. Der Load Balancer bewertet die Knoten im Rundlaufverfahren. Er prüft alle Schwellenwerte für die Bereitstellung von Ressourcen auf jedem verfügbaren Knoten und schließt einen Knoten aus, wenn der Schwellenwert durch Versenden einer Task überschritten wird. Der Load Balancer fährt mit der Bewertung der Knoten fort, bis er einen Knoten findet, der die Task annehmen kann. Dieser Modus verhindert die Überlastung der Knoten, wenn Tasks ungleiche Anforderungen an die Rechenkapazität stellen.
- •Adaptiv. Der Load Balancer klassifiziert die Knoten je nach der aktuellen CPU-Verfügbarkeit. Er prüft alle Schwellenwerte für die Bereitstellung von Ressourcen auf jedem Knoten und schließt einen Knoten aus, wenn der Schwellenwert durch Versenden einer Task überschritten wird. Dieser Modus verhindert die Überlastung der Knoten und gewährleistet beste Performance auf einem nicht schwer belasteten Gitter.
Läuft der Load Balancer im metrisch basierten oder im adaptiven Modus, bestimmt er anhand von Task-Statistiken, ob eine Task auf einem Knoten laufen kann. Der Load Balancer bildet die statistischen Mittelwerte der letzten drei Task-Durchläufe und bestimmt so die zur Ausführung der Task erforderlichen Rechenressourcen. Existieren im Repository keine Statistiken, arbeitet der Load Balancer mit Standardwerten.
Web Services HubModus kann der Load Balancer anhand des CPU-Profils für den Knoten denjenigen Knoten mit den meisten Rechenressourcen finden.
Den Dispatch-Modus konfigurieren Sie in den Domäneneigenschaften.
Dienstebenen
Dienstebenen geben eine Priorität unter den Aufgaben an, die darauf warten, versendet zu werden.
Wenn der Load Balancer mehr Sitzungs- und Befehls-Aufgaben auszuführen hat als der PowerCenter Integration Service zu diesem Zeitpunkt ausführen kann, platziert der Load Balancer die Aufgaben in der Warteschlange. Sobald Knoten verfügbar werden, schickt der Load Balancer die Aufgaben aus der Warteschlange ab. Der Load Balancer verwendet die Dienstebenen dazu, die Reihenfolge festzulegen, in der die Aufgaben aus der Warteschlange abgeschickt werden.
Sie können die Dienstebenen in den Domäneneigenschaften des Administrator Tools erstellen und bearbeiten. Sie weisen Dienstebenen den Arbeitsabläufen zu und verwenden dazu die Arbeitsablaufeigenschaften im PowerCenter Workflow Manager.