Leistung mit der asynchronen API verwalten
Die asynchrone API kann zu einer großen Anzahl gleichzeitiger Tasks in einem CICS® -System führen. CICS startet das Workload-Management automatisch, wenn eine Region MXTerreicht, und Sie können die Leistung selbst mithilfe von TRANCLASS regulieren. Transaktionsüberwachung und Statistiken sind auch verfügbar, um die Leistung von Regionen zu überwachen, die asynchrone Workloads ausführen.
Leistung regulieren
- Ressource TRANCLASS verwenden
Durch die Angabe von TRANCLASS für übergeordnete Transaktionen können Sie die maximale Anzahl übergeordneter Tasks, die zu einem bestimmten Zeitpunkt in dem System ausgeführt werden, und die Anzahl untergeordneter Tasks, die von diesen übergeordneten Tasks erstellt werden, steuern.
Verwenden Sie das Attribut MAXACTIVE von TRANCLASS, um sicherzustellen, dass die kombinierte Anzahl übergeordneter und untergeordneter Transaktionen kleiner als die MXT für Ihr System ist. Der Wert MAXACTIVE für Ihre untergeordneten Aufgaben sollte höher sein als der Wert MAXACTIVE für übergeordnete Aufgaben, vorausgesetzt, dass eine bestimmte übergeordnete Aufgabe mehrere untergeordnete Aufgaben erstellt.
Wichtig: Wenn Sie TRANCLASS für Ihre untergeordneten Transaktionen festlegen möchten, verwenden Sie nicht dieselbe TRANCLASS für untergeordnete Transaktionen und übergeordnete Transaktionen, da Sie andernfalls mit einem System voller übergeordneter Tasks und ohne Speicherplatz für untergeordnete Tasks zum Anhängen enden können.- Automatische Regulierung durch CICS -Systemmanagement
Wenn eine Region überlastet wird, beginnt CICS automatisch mit der Regulierung des Workflows, um zu viele untergeordnete Tasks zu verhindern. Übergeordnete Tasks, die einen RUN TRANSID -Befehl ausgeben, werden ausgesetzt und verwenden den Warttyp ASPARENT , der in eine Warteschlange eingereiht wird, und wieder aufgenommen, wenn Workloadebenen in der Region gelöscht werden.
Wenn übergeordnete Tasks wiederaufgenommen werden, kann die Auslastung in der Region schwanken, und übergeordnete Tasks können in schneller Folge ausgesetzt und wiederaufgenommen werden. Dies ist das erwartete Verhalten und gibt an, dass das automatische Systemmanagement CICS ordnungsgemäß vor übermäßig vielen asynchronen Anforderungen schützt.
Wenn Ihre asynchrone Workload regelmäßig Probleme für Ihre Region verursacht, sollten Sie die Regulierung der Workload mit TRANCLASS wie oben beschrieben in Betracht ziehen.
Überwachen der Leistung
- Vorherige Transaktionsüberwachung verwenden
Vorherige Transaktionsdatenmerkmale ermöglichen Ihnen, die Beziehungen zwischen Tasks in Ihrer Region zu verfolgen. Wenn beispielsweise eine Ihrer untergeordneten Tasks blockiert ist, können Sie anhand dieser Daten feststellen, welche übergeordnete Task auf eine Antwort von diesem untergeordneten Element wartet, und entscheiden, wie das Problem gelöst werden kann.
- Statistik-und Überwachungsdaten verwenden
Statistiken zu asynchronen Services und Überwachungsfelddaten sind verfügbar, um Sie bei der Überwachung und Diagnose asynchroner Workloads zu unterstützen. Sie können herausfinden, wie viele RUN TRANSID -und FETCH -Befehle von einer Anwendung ausgegeben wurden, wie viel Zeit für das Warten auf die Beendigung von untergeordneten Tasks aufgewendet wurde und weitere nützliche Informationen zur Überwachung und Verbesserung der asynchronen Leistung.
- CICS -Richtlinien verwenden
Sie können auch CICS -Richtlinien verwenden, um asynchrone Workloads zu verwalten. Mit dem Regeltyp Asynchrone Anforderungen können Sie einen Schwellenwert für die Anzahl der RUN TRANSID -Befehle auswählen, die abgesetzt werden können, bevor die Richtlinienaktion eingeleitet wird. Mithilfe von CICS -Richtlinien können Sie eine noch feinere Kontrolle über die übergeordneten und untergeordneten Tasks in Ihrem System erhalten.
Beispiel: Zwei Asynchrone Anforderungen -Taskregeln
Abb. 1. Definition der Regel async_over_3
In diesem Beispiel gibt die Regelasync_over_3an, dass CICS die Nachricht DFHMP3001ausgibt, wenn eine Task mehr als drei RUN TRANSID -Befehle ausgibt.DFHMP3001 13/03/2017 16:11:36 IYCWZCAB Task 00238 (PAS2) hat einen Richtlinienschwellenwert überschritten. BundleId=asyncPolicy, PolicyName=asynctask, RuleName=async_over_3, RuleType=asyncrequest, Kategorie=runtransid, Threshold=3Value=3, Einheit=), CurrentCount=4.
Abbildung 2: Definition der Regel async_over_1k
Die Regel
async_over_1khingegen bricht eine Task ab, wenn die Task mehr als tausend RUN TRANSID -Befehle ausgibt. CICS gibt die Nachricht DFHMP3002 zusammen mit dem Abbruchcode AMPB aus. Abnormale Beendigungen, die durch Richtlinienregeln verursacht werden, können wie jede andere abnormale Beendigung behandelt werden.DFHMP3002 13/03/2017 16:11:36 IYCWZCAB Task 00238 (PAS2) hat einen Richtlinienschwellenwert überschritten und wird mit dem Abbruchcode AMPB abnormal beendet. BundleId=asyncPolicy,, PolicyName=asynctask,, RuleName=async_over_1k, RuleType=asyncrequest,, Category=runtransid, Threshold=1000Value=1, Einheit=K), CurrentCount=1001.