Altova FlowForce Server 2024 Advanced Edition

Mit Hilfe von Warteschlangeneinstellungen können Sie die Verwendung von Serverressourcen effizienter steuern. So können Sie die Anzahl der gleichzeitig parallel ausgeführten Auftragsinstanzen einschränken.

 

Eine Ausführungswarteschlange dient zum Verarbeiten von Aufträgen. Sie steuert, wie Auftragsinstanzen ausgeführt werden. Jeder Auftrag wird einer Ausführungszielwarteschlange zugewiesen, über die er ausgeführt wird. Mit der Warteschlange wird gesteuert, wie viele Auftragsinstanzen (von allen der Warteschlange zugewiesenen Aufträgen) gleichzeitig ausgeführt werden können und wie groß der Zeitabstand zwischen den Ausführungen sein soll. Standardmäßig werden die Warteschlangeneinstellungen lokal für den Auftrag vorgenommen, Sie können Warteschlangen jedoch auch als eigenständige, gemeinsam von mehreren Aufträgen verwendete Objekte definieren. Wenn mehrere Aufträge derselben Ausführungswarteschlange zugewiesen werden, wird dafür bei der Ausführung diese gemeinsame Warteschlange verwendet.

 

Für Warteschlangen gelten hinsichtlich sicheren Zugriffs dieselben Einstellungen wie für andere FlowForce Server-Konfigurationsobjekte. Um Warteschlangen erstellen zu können, muss ein Benutzer das Recht zur Definition von Warteschlangen haben, siehe auch Definieren von Benutzern und Rollen. Außerdem können Benutzer Warteschlangen anzeigen und diesen Aufträge zuweisen, wenn sie die entsprechenden Container-Berechtigungen haben (siehe auch Funktionsweise von Berechtigungen. Standardmäßig erhält jeder authentifizierte Benutzer die Berechtigung Warteschlange - verwenden, d.h. er kann Aufträge einer Warteschlange zuweisen. Um den Zugriff auf Warteschlangen einzuschränken, navigieren Sie zum Container, in dem die Warteschlange definiert wurde und ändern Sie die Berechtigung des Containers für die Rolle authenticated in Warteschlange - Kein Zugriff. Weisen Sie als nächstes allen Rollen oder Benutzern, die Sie benötigen, die Berechtigung Warteschlange - verwenden zu. Nähere Informationen dazu finden Sie unter Einschränken des Zugriffs auf den Container /public.

 

Globale Warteschlangen im Gegensatz zu lokalen Warteschlangen

Sie können eine Warteschlange als eigenständiges Objekt (global) oder im Rahmen eines bestimmten Auftrags (lokal) erstellen. Lokale Warteschlangen unterstützen die verteilte Verarbeitung (über Cluster) nicht. Die Warteschlange muss (auftragsextern) als eigenes Objekt erstellt werden, damit sie für die verteilte Verarbeitung verwendet werden kann. Die verteilte Verarbeitung wird nur in der Advanced Edition unterstützt. Nähere Informationen dazu finden Sie unter Cluster. Informationen zur Erstellung von Standalone-Warteschlangen und lokalen Warteschlangen finden Sie in den Unterabschnitten weiter unten.

 

Erstellen globaler Warteschlangen

Um eine Warteschlange als Standalone-Objekt zu erstellen, gehen Sie folgendermaßen vor:

 

1.Öffnen Sie die Konfigurationsseite und navigieren Sie dann zum Container, in dem die Warteschlange erstellt werden soll.

2.Klicken Sie auf Erstellen und wählen Sie Warteschlange erstellen (Abbildung unten).

ff_create_queue

3.Geben Sie einen Namen für die Warteschlange und optional eine Beschreibung ein.

4.Konfigurieren Sie die relevanten Einstellungen. Nähere Informationen dazu finden Sie unter Warteschlangeneinstellungen weiter unten.

5.Klicken Sie auf Speichern.

 

Warteschlangeneinstellungen

Es stehen die folgenden Warteschlangeneinstellungen zur Verfügung.

 

Warteschlangenname

Ein Name für die Warteschlange. Dies ist ein Pflichtfeld. Er darf nur Buchstaben, Ziffern, einzelne Leerzeichen und die Zeichen Unterstrich (_), Bindestrich (-) und Punkt (.) enthalten. Der Name darf nicht mit Leerzeichen beginnen oder enden. Dieses Feld ist nur dann anwendbar, wenn die Warteschlange als Standalone-Warteschlange (nicht lokal) definiert ist.

 

Warteschlangenbeschreibung

Geben Sie optional eine Beschreibung für das Warteschlangenobjekt ein. Dieses Feld ist nur dann anwendbar, wenn die Warteschlange als Standalone-Warteschlange (nicht lokal) definiert ist.

 

Ausführen auf (Advanced Edition)

Gibt an, wie alle Auftragsinstanzen aus dieser Warteschlange ausgeführt werden sollen:

 

Master oder beliebigem Worker: Auftragsinstanzen, die Teil dieser Warteschlange bilden, werden je nach Verfügbarkeit der Server-Kerne auf dem Master- oder dem Worker-Rechner ausgeführt.

nur Master: Auftragsinstanzen werden nur auf dem Master-Rechner ausgeführt.

nur beliebigem Worker: Auftragsinstanzen werden auf jedem beliebigen verfügbaren Worker, jedoch niemals auf dem Master-Rechner ausgeführt.

 

Mindestintervall zwischen den Ausführungen

Eine Ausführungs-Warteschlange hat Ausführungs-Slots, wobei die Anzahl der verfügbaren Slots von der Einstellung: Maximale Anzahl der parallelen Ausführungen multipliziert mit der gemäß der gerade aktiven Regel zugewiesenen Anzahl der Worker-Rechner abhängig ist. Mit jedem Slot werden Auftragsinstanzen der Reihe nach ausgeführt.

 

Mit der Einstellung Mindestintervall zwischen den Ausführungen wird ein Slot für kurze Zeit als besetzt markiert, nachdem eine Auftragsinstanz fertig verarbeitet wurde, damit nicht sofort mit der nächsten Auftragsinstanz begonnen wird. Dadurch wird der maximale Durchsatz für diese Ausführungswarteschlange verringert, wodurch die CPU Zeit für andere Ausführungswarteschlangen und Prozesse auf demselben Rechner erhält.

 

Maximale Anzahl der parallelen Ausführungen

Mit dieser Option definieren Sie, wie viele Ausführungs-Slots in der Warteschlange zur Verfügung stehen. In jedem Slot werden Auftragsinstanzen der Reihe nach ausgeführt, daher wird mit dieser Einstellung festgelegt, wie viele Instanzen desselben Auftrags in der aktuellen Warteschlange parallel ausgeführt werden können. Beachten Sie jedoch, dass alle von Ihnen für die Parallelausführung zugelassenen Instanzen die verfügbaren Rechnerressourcen in Anspruch nehmen. Eine Erhöhung dieses Werts ist eventuell bei Warteschlangen mit schlanken Aufträgen, in denen keine speicherintensiven I/O-Operationen durchgeführt werden bzw. die nicht viel CPU-Zeit beanspruchen, akzeptabel. Der Standardwert (1 Instanz) eignet sich für Warteschlangen, in denen speicherintensive Aufträge verarbeitet werden, um sicherzustellen, dass immer nur eine solche speicherintensive Auftragsinstanz gleichzeitig verarbeitet wird.

 

Diese Option hat keine Auswirkung auf die maximale Anzahl der in FlowForce Server zulässigen parallelen HTTP-Requests (wie z.B. Requests von Clients, die als Webservice bereitgestellte Auftrage aufrufen). Nähere Informationen dazu finden Sie unter Umkonfiguration von FlowForce Server Pool Threads.

 

 

Mehrere Gruppen von Warteschlangeneinstellungen (Advanced Edition)

Durch Klicken auf die Schaltfläche add können Sie mehrere Gruppen von Warteschlangeneinstellungen mit unterschiedlichen Verarbeitungsvorgaben definieren. Um die Priorität einer bestimmten Einstellungsgruppe zu ändern, klicken Sie auf die Schaltfläche Nach oben up_arrow oder Nach unten down_arrow. So können Sie z.B. eine Regel für den Fall definieren, dass nur der Master zur Verfügung steht, und eine andere für den Fall, dass sowohl der Master als auch Worker-Rechner zur Verfügung stehen. Auf diese Art können Sie, je nach Zustand des Clusters zu einem bestimmten Zeitpunkt, einen Fallback-Mechanismus für die Warteschlange definieren. FlowForce überwacht bei der Verarbeitung von Warteschlangen ständig den Zustand des Clusters und "weiß", ob und wann ein Worker nicht verfügbar ist. Wenn Sie daher mehrere Warteschlangeneinstellungsregeln definiert haben, wertet FlowForce diese in der definierten Reihenfolge von oben nach unten aus und wählt die erste Regel aus, der gemäß der Einstellung Ausführen auf mindestens ein Cluster-Mitglied zugewiesen wurde. Nähere Informationen zum Betrieb im Master- und Worker-Modus finden Sie unter Cluster.

 

Beispiel (Advanced Edition)

Nehmen wir z.B. eine Konfiguration, bei der der Cluster aus einem Master- und vier Worker-Rechnern besteht. Es wurden dafür die folgenden Warteschlangeneinstellungen definiert:

ff_queue_settings

FlowForce würde die Warteschlange bei der oben gezeigten Konfiguration je nach aktuellem Status des Clusters folgendermaßen verarbeiten:

 

Wenn alle Worker zur Verfügung stehen, wird die oberste Regel angewendet. In diesem Fall können bis zu 16 Auftragsinstanzen (4 Instanzen pro Worker) gleichzeitig ausgeführt werden. Das Mindestintervall zwischen den Ausführungen beträgt 0 Sekunden.

Wenn nur drei Worker zur Verfügung stehen, wird weiterhin die oberste Regel angewendet. In diesem Fall können bis zu 12 Auftragsinstanzen gleichzeitig ausgeführt werden. Das Mindestintervall zwischen den Ausführungen beträgt 0 Sekunden.

Wenn keine Worker zur Verfügung stehen, wird die zweite Regel angewendet. In diesem Fall darf nur jeweils 1 Auftragsinstanz ausgeführt werden. Das Mindestintervall zwischen den Ausführungen beträgt 5 Sekunden.

 

Bei dieser Konfigurationsart kann der Auftrag auch dann ausgeführt werden, wenn keine Worker zur Verfügung stehen. Beachten Sie, dass die Regel nur Master etwas strenger ist (nur 1 Instanz und 5 Sekunden Ausführungsintervall) , damit dem Master nicht zu viel Verarbeitungsleistung weggenommen wird, wenn alle Worker ausfallen.

 

Zuweisen von Aufträgen zu Warteschlangen

Nachdem Sie die Warteschlage konfiguriert haben, müssen Sie ihr auf der Auftragskonfigurationsseite einen Auftrag zuweisen. Gehen Sie dazu folgendermaßen vor:

 

1.Öffnen Sie die Konfigurationsseite des Auftrags, den Sie einer Warteschlange zuweisen möchten.

2.Navigieren Sie zu den Warteschlangeneinstellungen am unteren Rand der Seite.

3.Aktivieren Sie die Option Vorhandene Warteschlange auswählen und geben Sie den Pad zum gewünschten Warteschlangenobjekt an (Abbildung unten).

ff_assign_queue

 

Definieren von lokalen Warteschlangen

Anstatt eigenständige Warteschlangen zu erstellen, können Sie die Warteschlangeneinstellungen lokal innerhalb des Auftrags vornehmen. Aktivieren Sie dazu auf der Auftragskonfigurationsseite die Option Lokale Warteschlange definieren und definieren Sie die Einstellungen für die Warteschlange. In der Abbildung unten sehen Sie die Standardeinstellungen für Warteschlangen. Wenn die Option Lokale Warteschlange definieren aktiviert ist, weist FlowForce Server die Instanzen dieses Auftrags zur Laufzeit einer Standardwarteschlange mit den lokalen Einstellungen, die Sie definiert haben, zu.

ffadv_queue

 

Nähere Informationen zu den Eigenschaften Mindestintervall zwischen den Ausführungen und Maximale Anzahl der parallelen Ausführungen finden Sie unter Warteschlangeneinstellungen weiter oben.

 

© 2018-2024 Altova GmbH