FACHWISSEN · AUTOMATISIERUNG & TRANSFORMATION

Automatisierung unter Last: Warum mehr parallele Läufe nicht automatisch schneller sind

BestExperts – Automatisierung und Zusammenarbeit / automation and collaboration

Ein Ablauf verarbeitet zehn Vorgänge gleichzeitig und wird langsamer statt schneller. Das ist kein Widerspruch. Parallelität nutzt freie Kapazität, erzeugt aber auch zusätzliche Anfragen, Konkurrenz um Ressourcen und gegebenenfalls Wiederholungen nach einer Drosselung.

Der Engpass bleibt auch bei mehr Startsignalen bestehen

Automatisierungsplattform und angebundene Systeme können unterschiedliche Grenzen besitzen. Ein Workflow darf möglicherweise mehrere Instanzen starten, während eine Schnittstelle nur eine begrenzte Zahl von Anfragen in einem Zeitraum akzeptiert. Eine HTTP-Antwort mit dem Status 429 weist auf zu viele Anfragen hin; die konkrete Behandlung richtet sich nach dem Dienst und seinen Vorgaben.

Die Zahl gleichzeitig aktiver Läufe ist deshalb keine Leistungskennzahl für sich. Entscheidend ist, wie viele fachlich korrekte Vorgänge pro Zeiteinheit abgeschlossen werden und wie lange ein Vorgang insgesamt wartet.

Ein Rechenbeispiel mit klaren Annahmen

Angenommen, eine Zielanwendung kann dauerhaft fünf Schreibvorgänge pro Sekunde verarbeiten. Ein vorgelagerter Ablauf erzeugt acht Vorgänge pro Sekunde. Solange diese Annahmen gelten, wächst der Rückstand um drei Vorgänge pro Sekunde. Zusätzliche parallele Aufrufer beseitigen die Differenz nicht.

Das vereinfachte Beispiel beschreibt einen Kapazitätsengpass. In der Praxis schwanken Eingang und Bearbeitungszeit. Deshalb müssen auch Lastspitzen, Warteschlangen und die zulässige Verzögerung betrachtet werden. Ein kurzer Mittelwert allein zeigt noch nicht, ob dringende Fälle rechtzeitig bearbeitet werden.

Parallelität nach Unabhängigkeit wählen

Unabhängige Lesezugriffe lassen sich oft anders parallelisieren als Änderungen am selben Datensatz. Zwei Läufe können beide einen alten Wert lesen und anschließend widersprüchliche neue Werte schreiben. Für solche Vorgänge werden beispielsweise Versionsprüfungen, atomare Änderungen oder eine geordnete Verarbeitung pro fachlichem Schlüssel benötigt.

Ein begrenzter Test erhöht die Parallelität schrittweise. Erfasst werden Durchsatz, Fehler, Wiederholungen und Wartezeit. Sobald zusätzliche Läufe keine zusätzlichen Abschlüsse mehr bringen, sollte zuerst der Engpass untersucht werden.

Wiederholungen zählen zur Last

Ein gedrosselter Aufruf, der sofort mehrfach wiederholt wird, erhöht den Druck auf das bereits ausgelastete System. Wartezeiten und gegebenenfalls vom Dienst mitgeteilte Wiederholungsfristen müssen berücksichtigt werden. Fachlich kritische Änderungen brauchen außerdem einen Schutz gegen Doppelwirkungen.

Eine gute Betriebsübersicht unterscheidet neue Arbeit, laufende Arbeit, wartende Arbeit und endgültig gescheiterte Arbeit. Erst diese Trennung zeigt, ob eine Automatisierung ihre Last bewältigt oder nur immer mehr Vorgänge gleichzeitig offen hält.

WordPress Cookie Plugin von Real Cookie Banner