Prozesssteuerung
Die Prozesssteuerung wird im Datacenter über das Menü Process aufgerufen.
Beim Einstieg in die Prozesssteuerung werden – getrennt über Reiter – folgende Bereiche dargestellt:
- Modul-Konfiguration
- Prozessübersicht inkl. Prioritätssteuerung
Die Prozesssteuerung dient der Konfiguration, Überwachung und operativen Steuerung der serverseitigen, asynchronen Prozessverarbeitung innerhalb von intracon.
Der Process-Service verarbeitet alle anstehenden Prozesse innerhalb einer zentralen Prozess-Pipeline.
Diese Pipeline stellt eine warteschlangenbasierte Verarbeitungsebene dar, über die Prozesse priorisiert, parallelisiert und durch Task-Worker verarbeitet werden.
Die Prozesssteuerung stellt sowohl die Konfigurationsansicht als auch eine Laufzeitüberwachung des Process-Service bereit.
Die dynamische Skalierung der Task-Worker erfolgt dabei über den AdaptiveLoadController, der die Systemauslastung und die Anzahl wartender Prozesse kontinuierlich überwacht.
Modul-Konfiguration
In der Modul-Konfiguration wird das Laufzeitverhalten der Prozess-Pipeline konfiguriert.
Zusätzlich wird eine Übersicht der aktuell gestarteten Task-Worker-Prozesse bereitgestellt.
Die Konfiguration der Prozess-Pipeline wird für jedes aktive Modul separat verwaltet.
Die Einstellungen eines Moduls können über den Button Einstellungen neben dem jeweiligen Modulnamen geöffnet werden.
Wie viele Module zur Verfügung stehen, hängt von der jeweiligen Systemkonfiguration und den aktivierten Systemkomponenten ab.
Konfigurationsparameter
| Einstellung | Beschreibung |
|---|---|
| Min. parallele Worker | Über den Parameter Min. parallele Worker wird die minimale Anzahl an Task-Workern definiert, die der AdaptiveLoadController dauerhaft parallel zur Verarbeitung der Prozess-Pipeline betreibt. Diese Task-Worker stellen sicher, dass jederzeit eine Grundkapazität für eingehende Prozesse vorhanden ist. Sinkt die Anzahl der wartenden Prozesse in der Prozess-Queue, werden zusätzliche Task-Worker oberhalb dieses Minimalwerts automatisch beendet. Der konfigurierte Wert bildet somit die untere Skalierungsgrenze der Task-Worker-Infrastruktur. Empfehlung: Die optimale Konfiguration ist systemabhängig und sollte anhand von Lasttests und der erwarteten Prozesslast ermittelt werden. |
| Max. parallele Worker | Über den Parameter Max. parallele Worker wird die maximale Anzahl an Task-Workern definiert, die der AdaptiveLoadController parallel zur Verarbeitung der Prozess-Pipeline starten kann. Die tatsächliche Anzahl aktiver Task-Worker wird dynamisch durch den AdaptiveLoadController bestimmt und bewegt sich immer innerhalb der Grenzen von Min. parallele Worker und Max. parallele Worker. Dadurch wird verhindert, dass bei hoher Prozesslast zu viele parallele Task-Worker gestartet werden und Systemressourcen überlastet werden. Empfehlung: Die optimale Konfiguration hängt von der verfügbaren Systeminfrastruktur (CPU-Kerne, Arbeitsspeicher, I/O-Leistung) sowie vom durchschnittlichen Ressourcenbedarf der Prozesse ab und sollte durch Lasttests validiert werden. |
| Prüfinterval (ms) | Das Prüfinterval (ms) definiert das Zeitintervall in Millisekunden, in dem der AdaptiveLoadController die Prozess-Pipeline auf neue oder wartende Prozesse überprüft. Sobald verarbeitbare Prozesse vorhanden sind, wird ein Task-Worker zur Abarbeitung gestartet oder ein bestehender Task-Worker verwendet. |
| Skalierungsschwelle | Über die Skalierungsschwelle wird definiert, wie viele Task-Worker der AdaptiveLoadController zur Verarbeitung der Prozess-Pipeline startet. Die Anzahl der zu startenden Task-Worker wird dynamisch anhand der aktuellen Anzahl wartender Prozesse in der Prozess-Queue berechnet. Grundlage der Berechnung ist folgende Formel: Anzahl Prozesse in der Queue / Skalierungsschwelle. Das Ergebnis bestimmt die Anzahl der benötigten Task-Worker, wobei die durch die Parameter Min. parallele Worker und Max. parallele Worker definierten Grenzen berücksichtigt werden. Die Prüfung und mögliche Anpassung der Task-Worker-Anzahl erfolgt zyklisch gemäß dem konfigurierten Prüfinterval (ms). Empfehlung: Der Wert sollte abhängig vom erwarteten Prozessdurchsatz sowie der durchschnittlichen Laufzeit einzelner Prozesse gewählt werden, um eine stabile Auslastung der Task-Worker ohne Überlastung des Systems zu gewährleisten. |
| Graceful-Timeout (ms) | Über den Parameter Graceful-Timeout (ms) wird definiert, wie lange der AdaptiveLoadController einem Prozess Zeit gibt, sich ordnungsgemäß zu beenden, wenn ein Task-Worker manuell gestoppt wird. Wird das Prozessende nicht innerhalb der definierten Zeit erreicht, beendet der AdaptiveLoadController den Prozess zwangsweise. Der Prozesslauf wird anschließend in der Prozesshistorie als fehlerhaft markiert. |
Konfigurationsverwaltung
Zur Speicherung einer geänderten Konfiguration steht der Speichern-Button zur Verfügung.
Laufzeitübersicht und Monitoring
Beim Einstieg in die Modulkonfiguration werden alle aktuell gestarteten Task-Worker angezeigt.
Für jeden gestarteten Worker werden folgende Detailinformationen dargestellt:
- Name des Task-Workers (systemseitig generiert)
ProcessIddes Workers- Startzeitpunkt des Workers
Zur manuellen Steuerung kann jeder Worker über den Stop-Button kontrolliert beendet werden.
Die Darstellung der Laufzeitinformationen wird automatisch aktualisiert.
- automatische Aktualisierung im 5-Sekunden-Intervall
- manuelle Aktualisierung über den Button Jetzt aktualisieren
- pausieren der automatischen Aktualisierung über Auto-Reload pausieren
Prozessübersicht inkl. Prioritätssteuerung
Der Bereich Prozessübersicht inkl. Prioritätssteuerung wird beim Einstieg in die Prozesssteuerung standardmäßig angezeigt.
Hier werden alle aktuell in der Verarbeitung befindlichen Prozesse tabellarisch dargestellt.
Die Darstellung erfolgt gruppiert nach dem jeweiligen Prozess-Endpoint.
Pro Endpoint werden folgende Informationen dargestellt:
- Anzahl der aktuell laufenden Prozesse
- Verteilung der Prozesse über die verfügbaren Prioritätsstufen
Zur schnellen Analyse steht eine Suchfunktion zur Verfügung, über die alle dargestellten Tabellenfelder gefiltert werden können.
Prioritätssteuerung
Für jeden Prozess-Endpoint kann die Priorität der aktuell wartenden Prozesse angepasst werden.
Wird eine Prioritätsänderung durchgeführt, werden alle Prozesse dieses Endpoints in die gewählte Prioritätsstufe überführt.
- Hinweis
- Es werden ausschließlich Prozesse berücksichtigt, die sich zum Zeitpunkt der Prioritätsänderung in der Prozess-Queue befinden.
Bereits laufende Prozesse werden von einer Prioritätsänderung nicht beeinflusst.
Prioritätsstufen
Es stehen die Prioritätsstufen Sehr niedrig, Niedrig, Normal, Hoch und Sehr hoch zur Verfügung.