CICS : Leistung und Optimierung
CICS® besteht aus drei Hauptkomponenten: Erfassung eines Ereignisses, Versand des EP-Adapters und Ausgabe des Ereignisses durch Ausführung des EP-Adapters. In jeder dieser Komponenten beeinflussen andere Faktoren die Leistung.
Faktoren bei der Erfassung eines Ereignisses
Bei der Leistung CICS im Zusammenhang mit der Ausführung von EP sind folgende Faktoren zu berücksichtigen:
- Die Prozessornutzung ist vernachlässigbar, wenn EP gestartet und keine Event-Bindungsdatei installiert ist.
- Die Prozessorauslastung ist vernachlässigbar, wenn EP gestartet und die Dateien für die Ereignisbindung installiert sind, aber wenn der Erfassungspunkt in kein <locationFilter> (die Prädikate für den Erfassungspunkt und den Anwendungsbefehl) in einer der Ereigniserfassungsspezifikationen definiert ist.
- Bei der primären Prädikatübereinstimmung kann die Verwendung des Attributs filterOperator="EQ" (im Filterprädikat mit "Gleich" angegeben) im Vergleich zu anderen filterOperator -Werten zu einer verbesserten Leistung führen. Eine Optimierung wird verwendet, wenn filterOperator="EQ" angegeben wird.Hinweis : CICS verwendet ein Sternchen (*), um das primäre Prädikat für den ausgewählten Erfassungspunkt anzuzeigen.
- Wenn Sie <dataCapture>(ausgegebene Geschäftsinformationen, die im Teil "Informationsquellen" der Erfassungsspezifikation zugeordnet sind) verwenden, um bestimmte Teile der mit einem Erfassungspunkt verbundenen Daten zu erfassen, halten Sie die Anzahl <dataCapture> möglichst gering. Andernfalls kann die Leistung beeinträchtigt werden, da für jede Datenerfassungskomponente ein separater Container erstellt wird. Wenn beispielsweise die Bytes 0 - 5, 10 - 15, 20 - 25, 30 - 35 eines Datensatzes mit einem EXEC CICS WRITE Befehle erfasst werden sollen, ist es effizienter, ein einzelnes <dataCapture> -Element zum Erfassen der Bytes 0 - 35 zu definieren, als vier <dataCapture> -Elemente für jeden der separaten Datenbereiche zu definieren.
- Fügen Sie nach Möglichkeit keine unnötigen Filterprädikate hinzu. Zum Beispiel ist es oft nicht notwendig, sowohl nach der Transaktions-ID als auch nach dem aktuellen Programmnamen zu filtern.
- Setzen Sie die Filterprädikate, die die meisten unerwünschten Ereignisse ausschließen, vor die Filterprädikate, die weniger unerwünschte Ereignisse ausschließen.
- Verwenden Sie nach Möglichkeit keine Filterprädikate für Datenfelder mit Zonen- oder gepackten Dezimalzahlen, die unbrauchbare Daten enthalten könnten.
CICS in der Kategorie "EVENTBINDING GLOBAL STATISTICS" zeigen die Gesamtzahl der Vorgänge des Ereignisfilters an. Weitere Informationen finden Sie unter EVENTBINDING-Statistiken.
Faktoren beim Versand des EP-Adapters
EP führt mehrere Dispatcher-Aufgaben aus, die auf L8 laufen, um die Ausgabe von Ereignissen zu bedienen. Diese Dispatcher-Tasks werden auf die von CICS festgelegte Begrenzung für die Anzahl geöffneter TCBs im L8 und L9 Modus angerechnet. CICS legt diese Grenze automatisch anhand der Formel (2 * MXT value)
+ 32 fest. Damit EP L8 nicht monopolisiert, ist die maximale Anzahl L8, die für EP-Dispatcher verwendet werden, auf ein Drittel der offenen TCB-Grenze begrenzt. CICS in der Kategorie "EVENTPROCESS STATISTICS" zeigen die Warteschlange für die Erfassung von Spitzenereignissen und die Dispatcher-Spitzenaufgaben an, sodass Sie die Nutzung von L8 durch EP überwachen können. Weitere Informationen finden Sie in den EVENTPROCESS-Statistiken.
Adapter können je nach Adapterkonfiguration entweder angebracht oder verbunden werden. Das Anhängen einer Aufgabe für jedes Ereignis erhöht die Prozessornutzung. Die Verwendung der Anhängemethode bedeutet, dass die Ereignisverteiler-Aufgabe nicht auf die Ausgabe des Ereignisses wartet, um die Verarbeitung der Ereigniswarteschlange fortzusetzen.
Wenn im CICS eine Transaktions-ID oder Benutzer-ID angegeben wird, wird der Adapter als separate Aufgabe angehängt. Wenn keine Transaktions-ID oder Benutzer-ID angegeben ist, wird der Adapter über die Dispatcher-Aufgabe verknüpft. HTTP ist jedoch immer angeschlossen.
Faktoren bei der Emission von Ereignissen durch den Betrieb der EP-Adapter
- TSQ
- Der TSQ EP-Adapter verursacht die geringsten Kosten in Bezug auf die CPU-Auslastung.
- WebSphere® MQ
- Für jede Veranstaltung gibt es einen Aufruf an
MQPUT1für WebSphere MQ.Gesicherte Ereignisemissionen : Sie benötigen die Fähigkeit und Zuverlässigkeit gesicherter Ereignisemissionen, um geschäftskritische Anwendungserweiterungen auf der Grundlage von Ereignissen zu erstellen. Durch die Sicherstellung der Ereignisemission (unter Verwendung des synchronen Emissionsmodus) werden die Kosten der Ereignisemission jedoch von einer asynchronen Ereignisverarbeitungsaufgabe auf den Anwendungsthread übertragen. Daher könnte die zugesicherte Ereignisemission die Reaktionszeit der Anwendung negativ beeinflussen, ähnlich wie das Hinzufügen eines MQPUT für das Ereignis zur Anwendung selbst. Aufgrund der Auswirkungen auf die Reaktionszeit sollten Sie sorgfältig abwägen, bei welchen Ereignissen die zusätzliche Zuverlässigkeit erforderlich ist, die durch den synchronen Sendemodus erreicht wird. Der asynchrone Übertragungsmodus ist die bessere Wahl, wenn es weniger wichtig ist, dass ein Ereignis gelegentlich verloren geht (zwischen dem Zeitpunkt, an dem ein Ereignis erfasst, aber noch nicht übertragen wurde). Dies ist beispielsweise bei E-Mail-Anwendungen der Fall, bei denen ein Ereignis selten verloren geht. Wenn Sie den synchronen Emissionsmodus nur dort angeben, wo er benötigt wird, stellen Sie sicher, dass Ihr Unternehmen die gesicherte Ereignisemission mit den geringsten Auswirkungen auf die Leistung optimal nutzt. - HTTP
- Für jede Veranstaltung gibt es einen Aufruf für HTTP an
WEB OPEN,WEB CONVERSEundWEB CLOSE. Standardmäßig schließt CICS HTTP, nachdem das Ereignis ausgegeben wurde, und öffnet eine neue Verbindung für das nächste Ereignis. CICS kann HTTP von Clients nach der Ausgabe von Ereignissen offen halten, sodass sie für nachfolgende Ereignisausgaben wiederverwendet werden können, und Sie können den Prozessor-Overhead für das erneute Öffnen der Verbindungen einsparen. Um Verbindungen offen zu halten, geben Sie das SOCKETCLOSE-Attribut in der URIMAP-Ressource an, die HTTP für die Verbindung verwendet. Wählen Sie eine angemessene Ablaufzeit für die Verbindungen basierend auf Ihrer Emissionsrate.Für jedes Ereignis, das über HTTP ausgegeben wird, wird eine CEPH-Aufgabe angehängt. Die CEPH-Transaktion hat einen DTIMEOUT -Wert von 5 Sekunden, sodass HTTP eine Zeitüberschreitung auslöst, wenn innerhalb von 5 Sekunden keine Verbindung mit dem Ereignisserver hergestellt werden kann. Die CEPH-Aufgabe sendet das Ereignis dann an einen HTTP 1.1 kompatiblen Server. CICS stellt ein PROFIL für die CEPH-Transaktion namens DFHECEPH bereit. Dieses Profil hat einen RTIMOUT -Wert von 5 Sekunden, sodass HTTP eine Zeitüberschreitung auslöst, wenn der Ereignisserver nicht innerhalb von 5 Sekunden antwortet. Sie können dieses Profil und die CEPH-Transaktion kopieren, wenn Sie sie ändern möchten.- Wenn die Emissionsrate im Vergleich zur HTTP 1.1 kompatiblen Server- oder Netzwerkantwortzeit hoch ist, können diese CEPH-Aufgaben das CICS System überlasten, wodurch das MXT-Limit erreicht wird. Sie müssen die CEPH-Transaktion kopieren und Ihre Transaktion dann einer Transaktionsklasse zuweisen, um zu vermeiden, dass das MXT-Limit erreicht wird. Die Transaktionsklasse muss einen MAXACTIVE -Wert haben, der niedrig genug ist, um das Erreichen des MXT-Limits zu vermeiden, und einen PURGETHRESH -Wert, der auf einen Wert ungleich Null gesetzt ist.
- Alle CEPH-Aufgaben, die gelöscht werden, wenn das Limit von PURGETHRESH erreicht ist, senden keine Ereignisse. Alle Aufgaben, die gelöscht werden, wenn das Limit von PURGETHRESH erreicht ist, führen dazu, dass die folgende Nachricht an das CSMT-Ziel für temporäre Daten geschrieben wird:DFHAC2036 Transaction CEPH has failed with abend AKCC.
Hinweis : Wenn Sie das kopierte Profil oder die kopierte Transaktion verwenden, müssen Sie Ihre Adapterkonfiguration im Event-Binding-Editor ändern, um HTTP mit dieser neuen Transaktion auszuführen. - Transaktionsstart
- Der Transaktionsstart-EP-Adapter startet eine neue CICS. Daher steigt die Prozessornutzung insgesamt, weil die Transaktion gestartet wird, die als Ergebnis CICS angestoßen wird. Außerdem wird jedes Datenerfassungsfeld einer gestarteten Transaktion in einem Container zur Verfügung gestellt. Eine große Anzahl dieser CICS kann zu einer erheblichen Erhöhung der Prozessornutzung des Adapters führen.
CICS in der Kategorie "EVENTPROCESS STATISTICS" zeigen die Anzahl der folgenden Ereignisse:
- Ereignisse, die an WebSphere MQ gesendet wurden
- Ereignisse, die an HTTP gesendet wurden
- Ereignisse, die an den Transaction EP-Adapter gesendet wurden
- Ereignisse werden an den TSQ EP-Adapter gesendet
- Ereignisse werden an den Custom EP-Adapter gesendet
Weitere Informationen finden Sie in den EVENTPROCESS-Statistiken.
CICS für die Ereignisverarbeitung
Die Ereignisverarbeitung verwendet 64-Bit-Speicher (über dem Balken) in CICS. Ihre Verwendung der Ereignisverarbeitung beeinflusst daher den Wert, den Sie für z/OS® MEMLIMIT auswählen, der für CICS gilt.
Wenn Sie den Adapter für die temporäre Speicherwarteschlange (TSQ) verwenden und den temporären Hauptspeicher auswählen, werden diese Daten auch im 64-Bit-Speicher abgelegt.
Informationen über den Wert von MEMLIMIT für CICS und Anweisungen zum Überprüfen des Werts von MEMLIMIT, der derzeit für CICS gilt, finden Sie unter "Estimating and checking MEMLIMIT ". Weitere Informationen zu MEMLIMIT in z/OS finden Sie im Dokument "Begrenzung der Verwendung privater Speicherobjekte in z/OS MVS : Erweiterter Adressierbarkeitsleitfaden ".