Warum ist meine Zeit für die Planung von Abfragen in Amazon Redshift so hoch?

Lesedauer: 2 Minute
0

Meine Zeit für die Planung von Abfragen in Amazon Redshift ist länger als die Ausführungszeit, und ich bin mir nicht sicher, warum.

Kurzbeschreibung

Abfragen mit exklusiven Sperren für eine Produktionslast können die Wartezeit für Sperren verlängern. Diese Erhöhung führt dazu, dass Ihre Abfrageplanungszeit in Amazon Redshift viel länger ist als die tatsächliche Ausführungszeit. Prüfen Sie die Metrik Aufschlüsselung der Workload-Ausführung, um festzustellen, ob es zu einem plötzlichen Anstieg der Planungszeit für Abfragen kommt. Eine Transaktion, die auf eine Sperre wartet, hat wahrscheinlich die Verlängerung der Zeit verursacht.

Behebung

Führen Sie die folgenden Schritte aus, um eine Transaktion zu erkennen, die auf eine Sperre wartet:

  1. Öffnen Sie eine neue Sitzung für Ihre erste Sperre:

    begin; lock table1;
  2. Öffnen Sie eine zweite Sitzung, die parallel ausgeführt wird, und führen Sie dann die folgende Abfrage aus:

    select * from table1 limit 1000;

    Die Abfrage in dieser zweiten Sitzung sendet eine AccessSharedLock-Anfrage. Da die erste Sitzung den AccessExclusiveLock bereits beansprucht hat, muss diese zweite Abfrage warten, um auf die Sperre zuzugreifen. Dann blockiert das ExclusiveLock alle anderen Vorgänge auf Tabelle1.

  3. Überprüfen Sie Ihre Metriken zur Aufschlüsselung der Workload-Ausführung. Ein plötzlicher Anstieg der Zeit für die Abfrageplanung kann bestätigen, dass eine Transaktion auf eine Sperre wartet.

  4. (Optional) Wenn eine Transaktion vorhanden ist, die auf eine Sperre wartet, beenden Sie die Sitzung manuell, um die Sperre aufzuheben:

    select pg_terminate_backend(PID);

Weitere Informationen zum Freigeben von Sperren finden Sie unter Wie erkenne und gebe ich Sperren in Amazon Redshift frei?

Ähnliche Informationen

Analysieren der Workload-Leistung

Arbeitsablauf für die Planung und Ausführung von Abfragen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Monaten