In diesem Abschnitt werden die bewährten Verfahren (Best Practices) beschrieben, mit denen sichergestellt werden kann, dass sich die Laufzeitumgebung in einwandfreiem Zustand befindet, und mit denen Fehler aufgrund von Speicherknappheit vermieden werden können.
Eine Integrationseinheit reserviert einen Speicherpool für die Ausführung von Orchestrierungsjobs. Die Verwaltung dieses Speicherpools ist von zentraler Bedeutung bei der Gewährleistung des einwandfreien Zustands der Laufzeitumgebung.
Es besteht eine direkte Beziehung zwischen der Menge des belegten Speicherplatzes und den Garbage-Collection-Zyklen. Die Garbage-Collection ist ein Prozess, durch den Speicherplatz, der durch abgeschlossene Jobs und Variablendaten belegt ist, an einen Speicherpool zurückgegeben wird, der von allen Orchestrierungsjob verwendet wird. Dieser Garbage-Collection-Prozess stellt sicher, dass für die Integrationseinheit eine konstante Menge an freiem Speicherplatz bereitgestellt wird, den neue Orchestrierungsjobs nutzen können.
Die Garbage-Collection (GC) ist ein kontinuierlicher Prozess, der im Hintergrund ausgeführt wird und keine Auswirkungen auf die Leistung der Orchestrierungsjobs hat. Wenn die Speicherbelegung jedoch einen kritischen Schwellenwert erreicht, findet ein umfassenderer Prozess statt, der als vollständige Garbage-Collection bezeichnet wird. Bei der vollständigen Garbage-Collection werden alle aktiven Jobs in einen Ruhestatus versetzt und nicht belegter Speicherplatz wird an den Pool zurückgegeben. Da alle Orchestrierungsjobs während einer vollständigen Garbage-Collection gestoppt werden, können sich häufige Garbage-Collections auf die Orchestrierungsleistung auswirken.
Wenn die GC-Aktivität im Diagramm für die Ressourcenauslastung regelmäßig Spitzenwerte erreicht, liegt wahrscheinlich ein hoher Speicherbedarf vor, den die Integrationseinheit zu verwalten versucht, indem sie häufiger vollständige Garbage-Collection-Zyklen initiiert. Eine hohe Speicherbelegung bedeutet jedoch nicht unbedingt eine höhere Anzahl von Garbage-Collection-Zyklen. So führt zum Beispiel eine große Anzahl von Orchestrierungen mit kurzer Laufzeit zu einem höheren Prozentsatz an belegtem Speicher. Die laufend im Hintergrund ausgeführten Garbage-Collection-Zyklen geben jedoch den Speicherplatz wahrscheinlich schnell genug an den Speicherpool zurück, sodass die Speicherbelegung insgesamt nie hoch genug ist, um eine vollständige Garbage-Collection auszulösen. Bei vollständigen Garbage-Collections werden alle Orchestrierungen gestoppt, d. h., häufig durchgeführte vollständige Garbage-Collections können sich auf die Orchestrierungsleistung auswirken.
Die folgende Tabelle enthält eine Liste der Best Practices, die Sie bei der Verwaltung der Speicherbelegung und der Bereitstellung einer Laufzeitumgebung in einwandfreiem Zustand unterstützen.
Best Practices - Prinzipien | Beschreibung |
---|---|
Verwenden Sie niedrigere Protokollebenen. | Eine detailliertere Protokollierung erfordert mehr Speicherplatz
zur Verarbeitung und Speicherung der Daten und erhöht darüber hinaus die E/A-Auslastung
der Integrationseinheitenplatte, wodurch die Leistung beeinträchtigt werden kann. Detaillierte Protokollebenen werden nur zu Debuggingzwecken empfohlen, nicht jedoch für Produktionsumgebungen,
in denen große Datenmengen verarbeitet werden. Die Integrationseinheit generiert Systemprotokolle und Protokoll für Orchestrierungsjobs. Cast Iron empfiehlt die Systemprotokollebene
"Warnung" für alle Komponenten, die im Systemprotokoll aufgezeichnet werden:
Orchestrierungsprotokollebenen werden für jede Orchestrierung in einem Projekt angegeben. Cast Iron empfiehlt die Protokollebene "Fehlerwerte" für alle Orchestrierungen unter allen Projekten auf der Integrationseinheit. Weitere Informationen zum Festlegen von Orchestrierungsprotokollebenen finden Sie in Orchestrierungseinstellungen bearbeiten. |
Stellen Sie sicher, dass für alle Orchestrierung die Persistenz aktiviert ist. | Standardmäßig ist die Persistenz für eine Orchestrierung aktiviert und
Variablendaten werden auf die Platte geschrieben, nicht in den Hauptspeicher. Die Aktivierung der Persistenz hat darüber hinaus den Vorteil, dass eine zeitpunktbasierte
Datenrecovery durchgeführt werden kann, falls während der Laufzeit ein Fehler auftritt. Wenn Sie die Persistenz für eine Orchestrierung inaktivieren, werden die Daten im Hauptspeicher gespeichert. Die Inaktivierung der Persistenz kann zwar die Leistung verbessern, bei einer immer höheren Anzahl von aktiven Jobs wird jedoch die Wahrscheinlichkeit, nicht mehr ausreichen Speicherplatz zur Verfügung zu haben, ebenfalls größer. Aufgrund des hohen Risikos der Speicherknappheit sollte bei der Inaktivierung der Persistenz mit äußerster Vorsicht vorgegangen werden. Anmerkung: Die Inaktivierung der Persistenz reduziert die Anzahl der Orchestrierungsjobs, die
die Integrationseinheit gleichzeitig ausführen kann. Der Grenzwert wird durch die Speichermenge bestimmt, die auf der Integrationseinheit zur Verfügung steht.
|
Verwenden Sie die Planungsfunktionen, die in der Web Management Console (WMC) und in Studio zur Verfügung stehen, um Orchestrierungsjobs zu staffeln. | Indem Sie speicherintensive Jobs so planen, dass sie zu unterschiedlichen Zeiten
gestartet oder in Zeiten geringer Systemauslastung ausgeführt werden, können Sie die Speicherbelegung
verringern, die Anzahl der vollständigen Garbage-Collections reduzieren und möglicherweise die Leistung verbessern. In Studio können Sie die Jobplanungsaktivität verwenden oder Abfrageintervalle für Aktivitäten in einer Orchestrierungs konfigurieren, um Orchestrierungsjobs zu staffeln und die Ressourcennutzung zu optimieren. Darüber hinaus können Sie einen Zeitplan in der WMC erstellen, der steuert, wann die Integrationseinheit einen Orchestrierungsjob ausführen soll. Messen Sie die durchschnittliche Ausführungszeit eines bestimmten Orchestrierungsjobs, sodass Sie die Jobpläne optimieren können. |
Reduzieren Sie die Anzahl der in einer Orchestrierung verwendeten Variablen auf ein Minimum. | Je mehr Variablen Sie in einer Orchestrierung verwenden, desto mehr Speicherplatz ist zum Speichern der Daten erforderlich. Dies kann wiederum zu einer höheren Anzahl von Garbage-Collection-Zyklen führen und sich auf die Leistung auswirken. Überprüfen Sie die Orchestrierungen, um festzustellen, ob die Anzahl der verwendeten Variablen reduziert werden kann. |
Reduzieren Sie die Anzahl gleichzeitig ausgeführter Jobs. | In der Web Management Console (WMC) können Sie die maximale Anzahl von
gleichzeitig ausgeführten Jobs für eine Orchestrierung angeben. Je mehr Orchestrierungen gleichzeitig ausgeführt werden, desto höher ist der Prozentsatz des belegten Speichers. Wenn Sie feststellen, dass der Speicher überlastet ist, reduzieren Sie die Anzahl der gleichzeitig ausgeführten Jobs. Eine Reduzierung der Anzahl gleichzeitig ausgeführter Jobs wirkt sich besonders bei nicht persistenten Orchestrierungsjobs mit langer Laufzeit aus, die eine große Anzahl von Variablen enthalten. Anmerkung: Diese Orchestrierungstypen werden von
Cast Iron nicht empfohlen.
|
Achten Sie darauf, dass die Speicherauslastung 75 % nicht überschreitet. | Im WMC-Diagramm für die Ressourcenauslastung können Sie den Prozentsatz des belegten Speichers protokollieren. Wenn der Prozentsatz des belegten Speichers ungefähr 75 % oder weniger beträgt, verfügt die Integrationseinheit über ausreichend Kapazität für die Verarbeitung weiterer Orchestrierungen. Wenn der Prozentsatz des belegten Speichers 75 % überschreitet, treten wahrscheinlich Leistungsprobleme auf, da die Anzahl vollständiger Garbage-Collections steigt. |
Begrenzen Sie die Anzahl vollständiger Garbage-Collection-Zyklen. | Im WMC-Diagramm für die Ressourcenauslastung können Sie den GC-Aktivitätswert verwenden, um einen Prozentsatz für vollständige Garbage-Collections zu protokollieren. Wenn dieser Prozentsatz 50 % überschreitet, stellen Sie möglicherweise einen geringeren Durchsatz bei den Orchestrierungsjobs fest. Implementieren Sie die Best Practices für die Speicherverwaltung, um die Speicherbelegung zu verringern und damit die Wahrscheinlichkeit für vollständige Garbage-Collection-Zyklen zu reduzieren. |
Fügen Sie zusätzliche Integrationseinheiten zur verwendeten Umgebung hinzu. | Wenn nach der Implementierung der Best Practices-Prinzipien die Speicherbelegung weiterhin hoch ist, muss möglicherweise eine weitere Integrationseinheit zur Umgebung hinzugefügt werden. |