AMP Engine: Bewährte Vorgehensweisen
In diesem Dokument werden Fragen zur neuen AMP Engine beantwortet. Das Dokument richtet sich sowohl an bestehende Administratoren als auch an neue Benutzer.
Weitere Informationen zur AMP Engine finden Sie auf den Hilfeseiten Alteryx AMP Engine und Engine .
Weitere Informationen zu den Systemanforderungen für Server finden Sie auf der Hilfeseite Systemanforderungen .
Allgemeine Themen
In den meisten Anwendungsfällen bietet die AMP Engine erhebliche Leistungs- und Effizienzverbesserungen gegenüber der Original-Engine, wenn ausreichende Systemressourcen bereitstehen. Weitere Informationen zu den Anforderungen und Empfehlungen für Systemressourcen finden Sie in den Abschnitten Wie verwalte ich Systemressourcen mit AMP? und Welche Systemanforderungen gelten für die AMP Engine? .
AMP ist für die Verarbeitung größerer Datenmengen mit höherer Geschwindigkeit ausgelegt und führt Workflows im Vergleich zur Original-Engine in der Regel schneller und mit effizienterer Nutzung der Rechnerressourcen aus.
Die Original-Engine-Architektur ermöglicht meist eine Single-Threaded-Verarbeitung, bei der Ihre Daten Datensatz für Datensatz sequentiell verarbeitet werden. Im Gegensatz dazu ermöglicht das neue AMP-Konzept eine massive Multithreading-Verarbeitung. AMP verarbeitet Datensätze in Paketen, um die Laufzeiten zu verbessern, und Tools können parallel ausgeführt werden. AMP verwendet auch leistungsfähigere Algorithmen beim Gruppieren und Sortieren von Datensätzen, was sich auf die Reihenfolge der Ausgabedatensätze auswirken kann.
Im Artikel Workflows mit AMP optimieren werden einige der Leistungsvorteile der Verwendung der AMP Engine beschrieben:
Die meistgenutzten Tools laufen am besten über AMP.
Der Vorteil von AMP steigt in der Regel mit zunehmender Datengröße.
Die Leistung variiert je nach Datengröße, zugrundeliegender Hardware, Rechenzentrum und Netzwerkinfrastruktur, Alteryx Server-Konfiguration und Workflow-Aufbau.
AMP ist in Designer standardmäßig für neue Workflows aktiviert. Bei neuen Server-Installationen oder neuen Workern auf vorhandenen Servern ist die Ausführung von AMP und Original-Engine standardmäßig zulässig. Die Workflow-Einstellungen bestimmen, welche Engine verwendet wird.
Anmerkung
When you upgrade to Server version 2022.1, we recommend validating your engine choice settings and resource allocations. The new 'Allow Server to manage workflows running simultaneously' functionality, and the change to enable AMP by default, can result in settings changing in your environment.
If you have an existing Server and want to maintain your current system settings, please read these instructions before upgrading.
1. Controller > General > Enable AMP Engine (Allgemein, AMP Engine aktivieren).
Before upgrading, note your current settings.
After upgrading, restore the selection to your desired value.
2. Worker > General > Allow Server to manage workflows running simultaneously .
Before upgrading, note the number set for ‘workflows allowed to run simultaneously’.
After upgrading, deselect Allow Server to manage workflows running simultaneously.
Input the number you saved for ‘workflows allowed to run simultaneously’.
3. Engine > General > Engine
Before upgrading, note your current settings.
After upgrading, restore the selection to your desired value.
4. Engine > General > Run engine at a lower priority (Engine mit niedrigerer Priorität ausführen)
Before upgrading, note your current settings.
After upgrading, restore the selection to your desired value.
Wir empfehlen Ihnen, die neuen Optionen Allow Server to manage workflows running simultaneously und Allow Server to manage engine resources zu verwenden. Wir haben die Logik hinzugefügt, damit jede Engine-Instanz innerhalb der in den Systemeinstellungen definierten Speicher- und logischen CPU-Beschränkungen arbeitet. Admins müssen darauf achten, dass sie nicht zu viel zuweisen, wenn sie diese Werte manuell festlegen, anstatt sie von Server verwalten zu lassen.
Berechnungen
Wenn Sie die Optionen Allow Server to manage workflows running simultaneously und Allow Server to manage engine resources aktivieren, berechnet Server die Anzahl gleichzeitiger Aufträge sowie die CPU-Threads (Kerne) und den Speicherplatz, der pro Auftrag beim Starten des Dienstes zugewiesen werden soll. Diese Berechnungen basieren auf den insgesamt verfügbaren logischen CPU-Kernen und den gesamten Systemspeicherressourcen auf dem Hostrechner. Sie sind außerdem darauf ausgelegt, die AMP-Leistung für die verfügbare Hardware basierend auf unseren Benchmarking-Ergebnissen zu optimieren. Die Formeln für diese Berechnungen lauten wie folgt:
Calculation Formulas
Gleichzeitige Aufträge
Anzahl gleichzeitiger Aufträge = min(Floor(logische Prozessoren / 8), (Floor(Gesamtspeicher / 8000) - 2))
Speicherlimit
Speicherlimit = Floor(Gesamtspeicher / (Anzahl gleichzeitiger Aufträge + 2))
For Server machines that act as both a worker and a controller with the embedded MongoDB, the Memory Limit (MB) is automatically calculated based on this formula:
(((Total Physical RAM/2) - 4096) / Number of Simultaneous Jobs)
For standalone workers, more memory is allocated to run workflows based on this formula:
(Total Physical RAM / (Number of Simultaneous Jobs +2))
If the formulas result in less than 2 GB, set the Memory Limit to the minimum of 2 GB to ensure the engine is able to execute.
Verarbeitungsthreads
Threads = Floor(gesamte logische Prozessoren / Anzahl gleichzeitiger Aufträge)
Empfehlungen für die manuelle Werteinstellung
Wir empfehlen Ihnen, diese Richtlinien für eine optimale Leistung zu befolgen, wenn Sie diese Werte manuell festlegen:
Memory per running workflow : 8 GB pro Workflow sind die Mindestempfehlung für eine optimale Leistung mit AMP.
CPU per running workflow : gleichzeitig laufender Workflow pro 6–8 logische CPU-Kerne.
Number of physical cores per node: For optimal performance, we recommend 8 physical cores per node and horizontal scaling to additional nodes. Typically, this means 4 simultaneous running workflows per node.
Maximum number of AMP engines run in parallel : Dies ist vollständig hardwareabhängig. Theoretisch könnten Sie 16 AMP- oder gemischte AMP- und Original-Engine-Aufträge gleichzeitig ausführen, wenn Sie einen Worker mit 128 logischen Kernen und 160 GB RAM haben. Allerdings ist es an diesem Punkt wahrscheinlicher, dass Festplatten-E/A und Netzwerkbandbreite der Engpass sind. Sowohl die Original-Engine- als auch die AMP-Leistung sind durch Festplatten-E/A und Netzwerkbandbreite in Abhängigkeit von der Größe und dem Herkunfts- und Ausgabeort der Daten begrenzt.
Max. Anzahl von AMP Engines, die gleichzeitig mit E1 ausgeführt werden : Server unterscheidet nicht zwischen einem AMP Engine- und einem Original-Engine-Auftrag. Server sendet den Workflow einfach an die Engine, und die Engine bestimmt, ob er über AMP oder Original-Engine ausgeführt werden muss. Daher geht Server davon aus, dass alle Aufträge AMP-Aufträge sind, wenn die AMP Engine aktiviert ist.
Wir empfehlen Ihnen, den Arbeitsspeicher in Höhe von einem Auftrag für das Betriebssystem und einen weiteren Auftrag zu reservieren, um negative Auswirkungen zu vermeiden, wenn Sie einen Workflow manuell von Designer auf Server ausführen. Unsere Formeln zur Berechnung der Ressourcen berücksichtigen diese Empfehlungen bereits.
Die neuesten Server-Systemanforderungen finden Sie auf der Hilfeseite Server: Systemanforderungen . Wir haben unsere Empfehlungen in zwei Kategorien unterteilt: Mindestanforderungen an die Hardware und Empfohlene Hardware für optimale Leistung .
Mindestanforderungen an die Hardware
Die Hardware-Mindestanforderungen für Server sind definiert als die Mindestanforderungen an die Hardware, die für den Betrieb einer stabilen Installation von Alteryx Server erforderlich sind. Wenn Sie die Mindestanforderungen nicht erfüllen, riskieren Sie eine mangelhafte Leistung und einen zufallsbedingten Dienstabbruch auf jedem Knoten, auf dem die Engine läuft.
Für die gewünschte Anzahl gleichzeitiger Workflows werden die folgenden Hardware-Mindestanforderungen empfohlen:
Desired # Concurrent Workflows | Minimum System Requirements | |
---|---|---|
Memory (GB RAM) | Physical Cores | |
2 | 32 | 4 |
3 | 48 | 6 |
4 | 64 | 8 |
5 | 80 | 10 |
6 | 96 | 12 |
7 | 112 | 14 |
8 | 128 | 16 |
Recommended Hardware for Computational Intensive Workloads
Server hardware recommendations for computationally intensive workloads are defined as the ideal specifications where Server can execute demanding workflows as efficiently as possible. This is essential for reducing congestion on busy systems.
The following hardware specifications are recommended for computational intensive workloads:
Desired # Concurrent Workflows | Computational Intensive Workload Recommendations | ||
---|---|---|---|
Memory (GB RAM) | Physical Cores | Logical Cores* | |
2 | 64 | 8 | 16 |
3 | 96 | 12 | 24 |
4 | 128 | 16 | 32 |
5 | 160 | 20 | 40 |
6 | 192 | 24 | 48 |
7 | 224 | 28 | 56 |
8 | 256 | 32 | 64 |
*Logical cores are either vCPUs or logical cores within a physical core. The standardization to refer to logical cores is a way of comparing consistently across both physical on-prem servers and virtual servers in the cloud. Intel hyperthreading, AMD SMT, 2:1 ratio of vCPU to physical core.
Vor 2022.1 war AMP auf Server verfügbar, aber standardmäßig deaktiviert.
Ab Version 2022.1 sind Controller und Worker bei neuen Server-Installationen standardmäßig so eingestellt, dass sowohl die Ausführung von AMP als auch die Ausführung der Original-Engine zulässig sind. Für bestehende Server ändern sich die vorhandenen Controller- und Worker-Einstellungen möglicherweise und für neue Worker ist sowohl die Ausführung mit AMP als auch mit der Original-Engine standardmäßig aktiviert. Wenn Sie dies vermeiden möchten, lesen Sie unseren Hinweis zur Beibehaltung der aktuellen Einstellungen.
Die Einstellungen für die Aktivierung der AMP Engine sowohl für Controller- als auch Worker-Knoten sind in den Alteryx-Systemeinstellungen verfügbar. Es gibt jetzt zusätzliche Einstellungen für die Verwaltung der Hardwarezuordnungen für jede Engine. Außerdem gibt es eine empfohlene Einstellung, um die Allow Server to Manage Engine Resources .
Systemeinstellungen für vorhandene Server-Installationen:
Controller > General > Enable AMP Engine : Wenn Sie diesen Wert jemals geändert haben, unabhängig davon, in welchen Wert Sie ihn geändert haben, bleibt dieser Wert auch nach der Aktualisierung erhalten. Wenn Sie diese Einstellung nie geändert und den Standardstatus immer deaktiviert gelassen haben, ist das Kontrollkästchen jetzt aktiviert, was bedeutet, dass AMP standardmäßig aktiviert ist.
Worker > General > Allow Server to manage workflows running simultaneously wird standardmäßig für alle Worker auf True gesetzt. Wenn diese Einstellung auf „True“ gesetzt ist, können Sie die Anzahl der Worker, die gleichzeitig ausgeführt werden dürfen, nicht festlegen.
Workers allowed to run simultaneously wird beim Dienststart automatisch auf der Grundlage der verfügbaren CPU und des Arbeitsspeichers in der Server-Umgebung berechnet.
Engine > General > Engine : Wenn in der Vergangenheit dieser Wert geändert wurde, bleibt dieser Wert auch nach der Aktualisierung erhalten, unabhängig davon, welcher Wert gewählt wurde. Wenn diese Einstellung nie geändert wurde und immer die Standardoption „Original-Engine" verwendet wurde, wird die neue Standardeinstellung auf „Both Engines" gesetzt.
Engine > General > Allow Server to manage engine resources ist eine neue Einstellung, die standardmäßig auf False gesetzt ist.
Die Formel Engine > General > Memory Limit zur Berechnung des Standardwerts wurde geändert.
Die Formel Engine > General > Default number of processing threads zur Berechnung des Standardwerts wurde geändert.
Engine > General > Run engine at a lower priority : Wenn in der Vergangenheit dieser Wert geändert wurde, bleibt dieser Wert auch nach der Aktualisierung erhalten, unabhängig davon, welcher Wert gewählt wurde. Wenn der Standardwert immer auf „False“ gesetzt war, wird nach der Aktualisierung der neue Standardwert auf True gesetzt.
Systemeinstellungen für neue Server-Installationen:
Der Standardwert für das Kontrollkästchen Controller > General > Enable AMP Engine ist True .
Worker > General > Allow Server to manage workflows running simultaneously wird standardmäßig für alle Worker auf True gesetzt.
Workers allowed to run simultaneously wird beim Dienststart automatisch auf der Grundlage der verfügbaren CPU und des Arbeitsspeichers in der Server-Umgebung berechnet.
Der Standardwert in der Dropdown-Liste Engine > General > Engine ist Both Engines .
Der Standardwert für Engine > General > Allow Server to manage engine resources ist False .
Die Formel Engine > Allgemein > Speicherlimit zur Berechnung des Standardwerts wurde geändert.
Die Formel Engine > General > Default number of processing threads zur Berechnung des Standardwerts wurde geändert.
Der Standardwert für Engine > General > Run engine at a lower priority ist True .
Können Benutzer die Einstellungen wieder zurückstellen (d. h. AMP in Server deaktivieren)?
Wenn der Administrator die AMP Engine nicht verwenden möchte, muss er sie manuell deaktivieren. Die folgende Abbildung zeigt die Einstellung „Engine“ im Abschnitt Controller General Configuration der Systemeinstellungen.
Wenn der Administrator AMP auf einigen Worker-Knoten deaktivieren möchte, kann dies im Abschnitt Engine-Configuration der Systemeinstellungen erfolgen. Siehe Dropdown-Einstellung „Engine“ weiter unten. In der Abbildung unten ist die Einstellung auf Both Engines gesetzt, kann aber auf Original-Engine geändert werden. Both Engines ist die Standardeinstellung in einer neuen Server-Umgebung.
Es gibt keine separate Speicherbegrenzung. In den Systemeinstellungen bezieht sich das Feld Engine > General > Memory Limit auf die Engine. Es gilt sowohl für Designer als auch für Server – im Grunde für jeden Ort, an dem die Engine ausgeführt wird.
Designer führt nur jeweils einen Workflow aus, sodass die Einschränkungen unterschiedlich und toleranter sind.
Im System ist AMP automatisch aktiviert und alle relevanten Einstellungen sind standardmäßig konfiguriert. Sie müssen nur dann Änderungen vornehmen, wenn sie AMP deaktivieren möchten. Lesen Sie die Antworten unter Welche Änderungen wurden in Designer und Server vorgenommen? .
Befolgen Sie die Richtlinien für die Hardware-Mindestanforderungen , um optimale Leistung und Stabilität zu gewährleisten.
No, they will run in the exact same way as they did before.
Wenn ein Workflow in Designer gespeichert wird, ist die Option der Laufzeiteinstellung auf „AMP Engine verwenden“ festgelegt oder nicht. Welche Option in Designer gespeichert ist, wird bei der Ausführung in Server berücksichtigt. Server wird die Engine-Option des Workflows niemals außer Kraft setzen. Daher führt das Zulassen der Ausführung sowohl von AMP als auch der Original-Engine auf Server nicht dazu, dass Workflows, die als Original-Engine gespeichert wurden, mit der AMP-Engine ausgeführt werden. Wenn ein Workflow mit AMP als Engine-Option gespeichert wird und AMP in Server nicht aktiviert ist, wird der Workflow NICHT mit der Original-Engine ausgeführt und schlägt fehl.
Damit ein Workflow, der zuvor mit Option „Original-Engine“ gespeichert wurde, mit AMP ausgeführt werden kann, muss der Workflow in Designer erneut gespeichert werden, wobei die Einstellung AMP Engine verwenden ausgewählt sein muss.
Die Ausführung von Workflows mit AMP kann sich auf die Reihenfolge der resultierenden Ausgabezeilen auswirken, da einige Dinge nun parallel ausgeführt werden. Denken Sie daran und überprüfen Sie, ob Ihre Prozesse von der Ausgabereihenfolge abhängig sind. Wenn dies der Fall ist, können Sie an Ihren Workflows Anpassungen vornehmen, um sicherzustellen, dass die Reihenfolge der Original-Engine beibehalten wird.
Sie können mit Änderungen in der Laufzeit der einzelnen Workflows rechnen.
Im Allgemeinen werden AMP-Workflow-Aufträge mit der richtigen Anzahl von Verarbeitungskernen deutlich schneller ausgeführt.
In einigen Fällen können AMP-Aufträge mehr Zeit in Anspruch nehmen als Original-Engine-Aufträge, insbesondere wenn die Workflows CPU-intensiv sind und die Anzahl der Threads pro Workflow gering ist.
Obwohl Ihre Workflows im Allgemeinen schneller abgeschlossen werden, kann die Ausführung eines Nicht-AMP-Workflows etwas länger dauern, da ein konkurrierender AMP-Workflow einige Ressourcen beansprucht. Es ändert jedoch nichts an der Quality of Service (QoS, Dienstgüte) und einige Workflows können schneller ausgeführt werden. QoS funktioniert weiterhin auf die gleiche Weise wie immer.
If it’s properly resourced, both AMP and original Engine workflows should be predictable (predictable using a new baseline, instead of going off of historic original Engine performance results only). The only time it would become unpredictable is if a worker’s hardware resources are under-allocated (original Engine and AMP competing for resources).
Es ist möglich, den Workflow mit aktiviertem AMP auf Server zu speichern und dann eine Kopie davon mit deaktiviertem AMP zu speichern. Führen Sie dann jeden Workflow einige Male aus, um zu sehen, welcher besser funktioniert. Beachten Sie auch, dass AMP-Workflows in der Regel schneller laufen, wenn sie gleichzeitig mit anderen AMP-Workflows ausgeführt werden.
Bedenken zur Dienstgüte (QoS)
Die Engine-Konfiguration Memory Limit gilt für die Engine, unabhängig davon, ob es sich um die Original-Engine oder AMP handelt. Der Unterschied besteht darin, wie die einzelnen Engines mit dem Speicherlimit arbeiten:
Die Original-Engine weist das gesamte Limit vorab zu.
AMP weist den benötigten Arbeitsspeicher bis zum Speicherlimit zu.
Ressourcen werden effizienter genutzt. Die Original-Engine ist nur begrenzt Multi-Threading-fähig. AMP kann serielle Aufträge wesentlich effektiver ausführen. Die Vorteile liegen im Gesamtdurchsatz, der mit AMP höher ist als bei der Verwendung der Original-Engine.
Server kann nun Ihre Hardware analysieren und die entsprechenden Ressourcen pro Engine zuweisen. Es handelt sich zwar nicht um einen Ressourcenmanager wie bei einem Betriebssystem, aber mit dieser neuen Eigenschaft haben wir die Möglichkeit geschaffen, dass Server Ihre Ressourcen verwalten kann.
Die Anzahl der Aufträge, die gleichzeitig ausgeführt werden können, wird auf der Grundlage der verfügbaren Hardwareressourcen automatisch zugewiesen, wenn der Administrator dies so konfiguriert. Weitere Informationen zur Worker-Konfiguration finden Sie auf der Hilfeseite zu Worker .
Nein, Ressourcen werden pro Engine-Auftrag zugewiesen. Jedem Auftrag stehen eigene Ressourcen zur Verfügung, was bedeutet, dass es keine Ressourcenkonflikte zwischen den Aufträgen geben sollte.
AMP-Artikel
Webinar zu AMP Engine (32 Minuten)
Alteryx Engine und AMP: Hauptunterschiede
Analyseprozesse mit der neuen AMP Engine beschleunigen
Die Alteryx AMP Engine: Erklärt
Detaillierte technische Analyse der AMP Engine | Teil 1 | Warum AMP?
Detaillierte technische Analyse der AMP Engine | Teil 2 | Schlüsselkonzepte der AMP Engine