Wenn ein Nachrichtenfluss-Thread ausgeführt wird, benötigt er Speicherplatz für die Ausführung der Anweisungen, die von der Logik seiner verbundenen Knoten definiert wurden. Dieser Speicherplatz hängt von der Heap- und Stapelspeichergröße der Ausführungsgruppe ab. Die Größe des Standardstapelspeichers, die einem Nachrichtenfluss-Thread zugeordnet wird, hängt von der verwendeten Plattform ab.
Jedem Nachrichtenfluss-Thread wird ein Stapelspeicherplatz von 1 MB zugeordnet.
Jedem Nachrichtenfluss-Thread wird ein Stapelspeicherplatz von 8 MB zugeordnet.
Jedem Nachrichtenfluss-Thread wird ein Stapelspeicherplatz von 1 MB zugeordnet.
Jedem Nachrichtenfluss-Thread wird ein Abwärtsstapelspeicherplatz von 512 KB und ein Aufwärtsstapelspeicherplatz von 50 KB zugeordnet.
In einem Nachrichtenfluss verwendet ein Knoten für gewöhnlich etwa 2 KB des Stapelspeicherplatzes. Ein typischer Nachrichtenfluss kann daher etwa 250 Knoten unter z/OS, 500 Knoten auf UNIX-Plattformen und 500 Knoten unter Windows enthalten. Abhängig von den verwendeten Knotentypen und der von ihnen ausgeführten Verarbeitung kann diese Anzahl höher oder niedriger sein.
Sie können die Stapelspeichergröße erhöhen, indem Sie die Umgebungsvariable MQSI_THREAD_STACK_SIZE auf einen entsprechenden Wert setzen. Wenn Sie Broker erneut starten, die auf dem System ausgeführt werden, verwenden diese den neuen Wert.
Der Wert, den Sie für MQSI_THREAD_STACK_SIZE festlegen, wird für jeden Thread verwendet, der in einem DataFlowEngine-Prozess erstellt wird. Wenn der Ausführungsgruppe viele Nachrichtenflüsse zugeordnet sind und Sie für MQSI_THREAD_STACK_SIZE einen hohen Wert festlegen, benötigt der DataFlowEngine-Prozess daher viel Speicherplatz für den Stapelspeicher.
Die Integrator-Komponenten unter z/OS werden unter Verwendung der neuen Verbindung XPLINKage (zusätzliche Leistungsverbindung) kompiliert, die den Laufzeitcode weiter optimiert. Wenn die Größe des Anfangsstapelspeichers jedoch nicht ausreicht, werden Stapelspeichererweiterungen verwendet. In jeder Erweiterung werden 128 KB verwendet. Es ist sehr wichtig, dass die Größe des Abwärtsstapelspeichers ausreicht, da XPLINK schlechte Leistungen erzielt, wenn Stapelspeichererweiterungen verwendet werden.
export _CEE_RUNOPTS=XPLINK\(ON\),RPTSTG(ON)Sie können dann die Standardwerte für die Stapelspeichergrößen unter z/OS überschreiben, indem Sie die LE_CEE_RUNOPTS-Umgebungsvariable im Komponentenprofil ändern oder hinzufügen.
Zur Aktualisierung des Komponentenprofils müssen Sie die Komponente stoppen, die erforderlichen Änderungen am Profil vornehmen, BIPGEN zum erneuten Erstellen von ENVFILE übergeben und die Komponente erneut starten.
export _CEE_RUNOPTS=XPLINK(ON),THREADSTACK(ON,50K,15K,ANYWHERE,KEEP,512K,128K)
Durch die Verwendung von RPTSTG erhöht sich die Dauer, die eine Anwendung zur Ausführung benötigt. Aus diesem Grund sollten Sie diese Einstellung nur als Hilfestellung bei der Entwicklung von Nachrichtenflüssen und Ihrer endgültigen Produktionsumgebung einsetzen. Sobald Sie die richtigen erforderlichen Stapelspeichergrößen ermittelt haben, sollten Sie diese Option aus der Umgebungsvariablen _CEE_RUNOPTS entfernen.