Automatisch implementieren WLM - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisch implementieren WLM

Mit automatischem Workload-Management (WLM) verwaltet Amazon Redshift die Parallelität von Abfragen und die Speicherzuweisung. Sie können bis zu acht Warteschlangen mit den Serviceklassen-IDs 100 bis 107 erstellen. Jede Warteschlange besitzt eine Priorität. Weitere Informationen finden Sie unter Abfragepriorität.

Automatisch WLM bestimmt die Menge an Ressourcen, die Abfragen benötigen, und passt die Parallelität an die Arbeitslast an. Befinden sich Abfragen im System, die große Mengen an Ressourcen benötigen (z. B. Hash-Joins zwischen großen Tabellen), ist die Nebenläufigkeit geringer. Werden leichtere Abfragen (wie Einfügen, Löschen, Scannen oder einfache Aggregationen) übermittelt, ist die Nebenläufigkeit höher.

Automatisch WLM unterscheidet sich von Short Query Acceleration (SQA) und wertet Abfragen unterschiedlich aus. Automatisch WLM und SQA arbeiten zusammen, sodass Abfragen mit kurzer Laufzeit und einfacheren Abfragen auch dann abgeschlossen werden können, wenn ressourcenintensive Abfragen mit langer Laufzeit aktiv sind. Weitere Informationen zu finden SQA Sie unterArbeiten mit Short Query Acceleration.

Amazon Redshift ermöglicht die automatische Nutzung WLM über Parametergruppen:

  • Wenn Ihre Cluster die Standardparametergruppe verwenden, aktiviert Amazon Redshift die automatische Parametergruppe WLM für sie.

  • Wenn Ihre Cluster benutzerdefinierte Parametergruppen verwenden, können Sie die Cluster so konfigurieren, dass sie automatisch WLM aktiviert werden. Wir empfehlen, dass Sie eine separate Parametergruppe für Ihre automatische WLM Konfiguration erstellen.

Bearbeiten Sie zur Konfiguration WLM den wlm_json_configuration Parameter in einer Parametergruppe, die einem oder mehreren Clustern zugeordnet werden kann. Weitere Informationen finden Sie unter Änderung der Konfiguration WLM.

Sie definieren Abfragewarteschlangen innerhalb der WLM Konfiguration. Sie können der WLM Standardkonfiguration zusätzliche Abfragewarteschlangen hinzufügen, bis zu insgesamt acht Benutzerwarteschlangen. Für jede Abfragewarteschlange kann Folgendes konfiguriert werden:

  • Priorität

  • Nebenläufigkeitsskalierungsmodus

  • Benutzergruppen

  • Abfragegruppen

  • Abfrageüberwachungsregeln

Priorität

Sie können die relative Wichtigkeit der Abfragen in einem Workload definieren, indem Sie einen Prioritätswert festlegen. Die Priorität wird für eine Warteschlange angegeben und von allen Abfragen geerbt, die mit der Warteschlange verknüpft sind. Weitere Informationen finden Sie unter Abfragepriorität.

Nebenläufigkeitsskalierungsmodus

Bei aktivierter Nebenläufigkeitsskalierung fügt Amazon Redshift automatisch zusätzliche Cluster-Kapazität hinzu, wenn diese benötigt wird, um eine gestiegene Zahl von gleichzeitigen Lese- und Schreibabfragen zu verarbeiten. Ihre Benutzer sehen stets die jeweils aktuellen Daten, unabhängig davon, ob die Abfragen auf dem Haupt- oder einem Nebenläufigkeitsskalierungs-Cluster ausgeführt werden.

Sie verwalten, welche Abfragen an den Concurrency Scaling Cluster gesendet werden, indem Sie Warteschlangen konfigurieren. WLM Wenn die Nebenläufigkeitsskalierung für eine Warteschlange aktiviert ist, werden entsprechend qualifizierte Abfragen an das Nebenläufigkeitsskalierungs-Cluster übermittelt, anstatt in einer Warteschlange zu warten. Weitere Informationen finden Sie unter Arbeiten mit Nebenläufigkeitsskalierung.

Benutzergruppen

Sie können einer Warteschlange einen Satz von Benutzergruppen zuweisen, indem Sie die einzelnen Namen der Benutzergruppen angeben oder Platzhalter verwenden. Wenn ein Mitglied einer aufgeführten Benutzergruppe eine Abfrage ausführt, wird diese in der entsprechenden Warteschlange ausgeführt. Es gibt keine Grenze für die Anzahl der Benutzergruppen, die einer Warteschlange zugewiesen werden können. Weitere Informationen finden Sie unter Zuweisen von Abfragen zu Warteschlangen auf der Grundlage von Benutzergruppen.

Abfragegruppen

Sie können einer Warteschlange einen Satz von Abfragegruppen zuweisen, indem Sie die einzelnen Namen der Abfragegruppen angeben oder Platzhalter verwenden. Eine Abfragegruppe ist einfach eine Beschriftung. Während der Laufzeit können Sie die Beschriftung der Abfragegruppe einer Serie von Abfragen zuweisen. Alle einer aufgeführten Abfragegruppe zugewiesenen Abfragen werden in der entsprechenden Warteschlange ausgeführt. Es gibt keine Grenze für die Anzahl der Abfragegruppen, die einer Warteschlange zugewiesen werden können. Weitere Informationen finden Sie unter Zuweisen einer Abfrage zu einer Abfragegruppe.

Platzhalter

Wenn Platzhalter in der WLM Warteschlangenkonfiguration aktiviert sind, können Sie Benutzergruppen und Abfragegruppen einer Warteschlange entweder einzeln oder mithilfe von Platzhaltern im Unix-Shell-Stil zuweisen. Der Musterabgleich beachtet die Groß- und Kleinschreibung.

So entspricht beispielsweise das Platzhalterzeichen „*“ einer beliebigen Anzahl von Zeichen. Wenn Sie dementsprechend dba_* zur Liste der Benutzergruppen für eine Warteschlange hinzufügen, wird dieser Warteschlange jede Benutzerabfrage zugeordnet, die zu einer Gruppe gehört, deren Name mit dba_ beginnt. Beispiele sind dba_admin oder DBA_primary. Das Platzhalterzeichen „?“ entspricht einem einzelnen Zeichen. Wenn die Warteschlange also die Benutzergruppe dba?1enthält, dann passen die Benutzergruppen mit Namen dba11 und dba21, dba12 jedoch nicht.

Standardmäßig sind Platzhalter nicht aktiviert.

Abfrageüberwachungsregeln

Regeln zur Abfrageüberwachung definieren auf Metriken basierende Leistungsgrenzen für WLM Warteschlangen und geben an, welche Maßnahmen ergriffen werden sollen, wenn eine Abfrage diese Grenzen überschreitet. So können Sie etwa für eine für kurze Abfragen dedizierte Warteschlange eine Regel erstellen, die Abfragen abbricht, die länger als 60 Sekunden ausgeführt werden. Zur Nachverfolgung schlecht gestalteter Abfragen können Sie eine weitere Regel verwenden, die Abfragen mit eingebetteten Schleifen protokolliert. Weitere Informationen finden Sie unter WLMRegeln für die Abfrageüberwachung.

Es wird geprüft, ob automatisch WLM

Führen Sie die folgende Abfrage aus, um zu überprüfen, ob Automatisch aktiviert WLM ist. Wenn die Abfrage mindestens eine Zeile zurückgibt, WLM ist automatisch aktiviert.

select * from stv_wlm_service_class_config where service_class >= 100;

Die folgende Abfrage zeigt die Anzahl der Abfragen, die die einzelnen Abfragewarteschlangen durchlaufen haben (Service-Klasse). Sie zeigt zudem die durchschnittliche Ausführungsdauer, die Anzahl der Abfragen mit einer Wartezeit ab der 90. Perzentile und die durchschnittliche Wartezeit. Automatische WLM Abfragen verwenden die Dienstklassen 100 bis 107.

select final_state, service_class, count(*), avg(total_exec_time), percentile_cont(0.9) within group (order by total_queue_time), avg(total_queue_time) from stl_wlm_query where userid >= 100 group by 1,2 order by 2,1;

Führen Sie die folgende Abfrage aus, um herauszufindenWLM, welche Abfragen automatisch ausgeführt und erfolgreich abgeschlossen wurden.

select a.queue_start_time, a.total_exec_time, label, trim(querytxt) from stl_wlm_query a, stl_query b where a.query = b.query and a.service_class >= 100 and a.final_state = 'Completed' order by b.query desc limit 5;