Flow-Priorität
In den Einstellungen für Flows und Vorlagen legen Sie die Priorität eines Flows fest. Sie wirkt in umfangreichen Projekten, die den Router zeitweise auslasten: Ist gerade kein Worker-Thread frei, entscheidet die Priorität, welcher wartende Flow als Nächstes an die Reihe kommt.
Was die Priorität bewirkt – und was nicht
Der OPC Router führt jeden Transfer auf einem Worker-Thread aus. Standardmäßig hält er davon 80 bereit, dazu 5 weitere, die ausschließlich Flows mit hoher Priorität bedienen. Für jede der drei Prioritätsstufen gibt es eine eigene Warteschlange.
- Vorrang in der Warteschlange: Die 80 allgemeinen Worker-Threads bedienen zuerst die hohe, dann die normale, dann die niedrige Priorität.
- Zusätzliche Worker-Threads: Die 5 reservierten Worker-Threads nehmen ausschließlich Flows mit hoher Priorität an. Deshalb kommen diese Flows auch dann noch zum Zug, wenn alle allgemeinen Worker-Threads belegt sind.
- Keine Verdrängung: Ein bereits laufender Transfer wird nie unterbrochen, gleich welche Priorität der wartende Flow hat. Auch ein Flow mit hoher Priorität wartet also, bis ein Worker-Thread frei wird – er bekommt nur früher einen als die anderen.
Wie ein Transfer im Einzelnen abläuft und wodurch er einen Worker-Thread längere Zeit belegen kann, steht unter Wie ein Flow ausgeführt wird.
Prioritäten
| Priorität | Beschreibung |
|---|---|
| Hohe Priorität | Flows mit hoher Priorität werden bei ausgelastetem Router am zuverlässigsten ausgeführt. Sie eignen sich für zeitkritische Aufgaben, zum Beispiel das Alarm- und Ereignismanagement oder die Synchronisation zeitkritischer Systeme wie Produktionslinien. Hinweis: Sind auch die reservierten Worker-Threads dauerhaft mit Flows hoher Priorität belegt, kommen Flows der übrigen Stufen nicht mehr an die Reihe. |
| Normale Priorität (Standard) | Flows mit normaler Priorität eignen sich für Aufgaben, die nicht zeitkritisch sind, zum Beispiel die Protokollierung oder die Synchronisation nicht zeitkritischer Systeme wie Datenbanken. Hinweis: Solange alle Worker-Threads mit Flows hoher und normaler Priorität belegt sind, werden keine Flows niedriger Priorität ausgeführt. |
| Niedrige Priorität | Flows mit niedriger Priorität eignen sich für Aufgaben, die nicht zeitkritisch sind und bei denen größere Verzögerungen unproblematisch sind, zum Beispiel das Archivieren von Daten oder das Löschen alter Daten. |
Vergeben Sie die hohe Priorität sparsam: Sie verschafft nur so lange einen Vorteil, wie wenige Flows sie tragen. Tragen alle Flows dieselbe Stufe, gibt es keinen Vorrang mehr.