Prozessausführung für Latenz optimieren
Informationen zu diesem Vorgang
Die Ausführung von Implementierungen von Systemtasks und Entscheidungstasks wird über den Event Manager geplant. Jedes Cluster-Member hat einen Event Manager, der mithilfe eines Pools von Threads Arbeiten in der Reihenfolge plant, in der sie erstellt wurden. Diese Verwendung eines Thread-Pools ermöglicht eine unabhängige und parallele Ausführung von Implementierungen eines Prozesses.
Bei hoher Auslastung des IBM BPM-Systems kann die Verarbeitung der Implementierung einer bestimmten Prozessinstanz verzögert werden, weil andere Arbeitsprozesse bereits zur Verarbeitung anstehen. Diese gemeinsame Nutzung von Threads kann die Latenzzeit für die gesamte Prozessinstanz erhöhen. Bestimmte Arten von Prozessen benötigen jedoch eine höhere Leistung, um die Latenzzeit beim Straight-through-Processing zu minimieren. Wenn ein Prozess mit Straight-through-Processing keine parallelen Pfade enthält, aber eine Reihe von System- oder Entscheidungstasks ausführt, die durch Integrationsservices implementiert werden, können diese Arbeiten möglicherweise effizienter und mit geringerer Latenz ausgeführt werden, wenn ein einzelner Thread auf nur einem Cluster-Member verwendet wird.
- Das Standardverarbeitungsverhalten ist nicht latenzoptimiert, d. h., dass der Thread nach jeder Arbeitseinheit wieder freigegeben wird. Dieses Verhalten stellt sicher, dass alle Prozessinstanzen, die die Standardeinstellung verwenden, die gleiche Priorität für die Fortsetzung der Prozessnavigation haben.
- Systemtasks und Entscheidungstasks, die für Latenz optimiert sind, werden in demselben Thread ausgeführt, den der Prozess für die Navigation verwendet. Wenn mehrere System- oder Entscheidungstasks in parallelen Pfaden des Prozesses vorhanden sind, wird nur ein Pfad von ein und demselben Thread ausgeführt. Für die anderen Pfade wird vom Event Manager die Verwendung des Standardverhaltens geplant. Prozessinstanzen mit dieser Ausführungsoptimierung verwenden die Event Manager-Threads über eine längere Zeit, sodass ihre Latenz vorhersehbarer ist.
- Aktivieren Sie diese Optimierungsoption nicht für alle Prozesse in Ihrem System. Andernfalls erhöht sich für die Prozessinstanzen möglicherweise die Wartezeit beim Anfordern eines Ausführungsthreads.
- Stellen Sie sicher, dass die Zahl der angeforderten Prozesse (mit aktivierter Optimierung), die pro Zeiteinheit an ein Cluster-Member gesendet werden, nicht die Kapazität der Ausführungsthreads überschreitet, die für die Verarbeitung der Anforderungen zur Verfügung stehen.
Vorgehensweise
Führen Sie die folgenden Aktionen aus, um die Optimierung für Latenz zu aktivieren:
- Öffnen Sie den Prozess.
- Öffnen Sie auf der Registerkarte Überblick den Abschnitt Erweitert.
- Wählen Sie Ausführung für Latenz optimieren aus, um Threadkontextwechsel für den Prozess zu reduzieren. Wenn Sie die Option abwählen, wird die Optimierung für die Prozess inaktiviert.