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.
Analysieren von Sperrbäumen für Amazon Aurora PostgreSQL mit Database Insights CloudWatch
Um Leistungsprobleme zu beheben, die durch Sperren verursacht werden, können Sie Sperrbäume für Amazon Aurora PostgreSQL-Datenbanken mit CloudWatch Database Insights wie folgt analysieren.
Aufgeteilt nach Dropdown — Wählen Sie im Diagramm zum Laden der Datenbank die Dimensionen Blockierendes Objekt, Blockierende Sitzung oder Blockierung von SQL aus, um zu sehen, wie die einzelnen Top-Blocker im Laufe der Zeit zur DB-Auslastung beitragen. Mit dem DB-Lastdiagramm können Sie analysieren, ob die wichtigsten Blocker konstant sind oder sich häufig ändern. Anschließend können Sie Fehler bei den Blockern beheben.
Registerkarte „Analyse sperren“ — Wählen Sie „DB-Lastanalyse“ und anschließend die Registerkarte „Analyse sperren“, um Informationen zu Sperrkonflikten in Ihrer Datenbank anzuzeigen.
Anmerkung
CloudWatch Database Insights unterstützt die Sperranalyse für alle Aurora PostgreSQL-Versionen. Um Sperrbäume zu analysieren, muss der Database Insights Advance Mode aktiviert sein. Informationen zum Aktivieren des erweiterten Modus finden Sie unter Einschalten des erweiterten Modus von Database Insights für Amazon Aurora und Einschalten des erweiterten Modus von Database Insights für Amazon Relational Database Service
Die Registerkarte „Sperranalyse“ enthält Informationen zu Sperrkonflikten in Ihrer Datenbank. Die Sperrbaum-Visualisierung zeigt die Beziehungen und Abhängigkeiten zwischen Sperranforderungen aus verschiedenen Sitzungen.
Database Insights erfasst alle 15 Sekunden Schnappschüsse. Schnappschüsse zeigen die Sperrdaten für Ihre Datenbank zu einem bestimmten Zeitpunkt.
Anmerkung
Wenn eine hohe Sperre CloudWatch erkannt CloudWatch wird, wird das Banner Hohe Sperre erkannt auf der Registerkarte Sperranalyse angezeigt. CloudWatch erkennt eine hohe Sperre, wenn CloudWatch für jedes 15-Sekunden-Intervall für 15 aufeinanderfolgende Minuten ein Snapshot der Sperre erstellt wird.
Jeder Knoten in der Baumstruktur steht für eine bestimmte Sitzung. Der übergeordnete Knoten ist eine Sitzung, die ihre untergeordneten Knoten blockiert.
Gehen Sie wie folgt vor, um Sperrbäume zu analysieren.
Um Sperrbäume zu analysieren
Melden Sie sich bei der an AWS Management Console und öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. Wählen Sie Insights.
Wählen Sie Database Insights.
Wählen Sie die Ansicht Database Instance aus.
Wählen Sie eine DB-Instance aus.
Wählen Sie die Registerkarte DB-Lastanalyse.
Wählen Sie die Registerkarte Lock-Analyse.
Um Sperrdaten für eine DB-Instance anzuzeigen, wählen Sie einen Zeitraum von 1 Tag oder weniger.
Wählen Sie ein Snapshot-Fenster. Standardmäßig wählt Database Insights das Snapshot-Fenster mit den meisten blockierten Sitzungen aus.
Um Sperrdaten für einen Snapshot anzuzeigen, wählen Sie den Zeitpunkt aus, zu dem Database Insights den Snapshot aufgenommen hat.
Um eine Sperrstruktur zu erweitern, wählen Sie den Pfeil neben der Sitzungs-ID.
Snapshot-Daten sperren
Database Insights stellt für jede Sperranforderung die folgenden Informationen bereit. Um Spalten anzuzeigen, die standardmäßig nicht aktiviert sind, wählen Sie das Einstellungssymbol für die Tabelle Bäume sperren und aktivieren Sie andere Spalten.
Spaltenname | Definition | Standardspalte | Hinweise |
---|---|---|---|
|
Die eindeutige Sitzungs-ID. |
Ja |
Das |
|
Die PID dieses Backends. |
Ja |
|
|
Die Anzahl der durch diese Sperre blockierten Sitzungen. |
Ja |
Der |
|
Die letzte von dieser Sitzung ausgeführte Abfrage. Bei Blockern ist es möglicherweise nicht die Abfrage, die die Sperrsperre enthält. |
Ja |
|
|
Der Name des Warteereignisses, wenn das Backend gerade wartet, andernfalls ist der Wert NULL. |
Ja |
|
|
Die Zeit (in Sekunden) seit dem Start dieser Sperre. |
Ja |
Der |
|
Der Sperrmodus, der von der blockierenden Sitzung beibehalten wurde. |
Nein |
|
|
Der von der wartenden Sitzung angeforderte Sperrmodus. |
Nein |
|
|
Der Name der Anwendung, die mit diesem Backend verbunden ist. |
Nein |
|
|
Die Startzeit der blockierenden Transaktion oder Null, wenn keine Transaktion aktiv ist. |
Nein |
|
|
Die Zeit, zu der eine wartende Benutzersitzung begann, auf diese Sperre zu warten, oder Null, wenn die Sperre beibehalten wurde. |
Nein |
|
|
Der Zeitpunkt, zu dem eine Benutzersitzung gestartet wurde. |
Nein |
|
|
Der Status eines Backends. |
Nein |
|
|
Der Typ des Warteereignisses, auf das diese Sitzung wartet. |
Nein |
|
|
Der Zeitpunkt, zu dem die letzte Abfrage gestartet wurde. |
Nein |
|
|
Der Name des Benutzers, der bei diesem Backend angemeldet ist. |
Nein |
|
|
Der Hostname des verbundenen Clients, wie er bei einer umgekehrten DNS-Suche von |
Nein |
|
|
Die TCP-Portnummer, die der Client für die Kommunikation mit diesem Backend verwendet, oder |
Nein |
|
|
Die IP-Adresse des Clients, der mit diesem Backend verbunden ist. Wenn dieses Feld Null ist, bedeutet dies entweder, dass der Client über einen Unix-Socket auf dem Servercomputer verbunden ist oder dass es sich um einen internen Prozess wie Autovacuum handelt. |
Nein |
|
|
Der Wert ist wahr, wenn die Sperre gehalten wird, und falsch, wenn die Sperre erwartet wird. |
Nein |
|
|
Die Tupelnummer, auf die die Sperre innerhalb der Seite abzielt, oder Null, wenn das Ziel kein Tupel ist. |
Nein |
|
|
Die Seitennummer, auf die das Schloss innerhalb der Beziehung abzielt, oder Null, wenn das Ziel keine Relationsseite oder kein Tupel ist. |
Nein |
|
|
Die ID der Transaktion, auf die die Sperre abzielt, oder Null, wenn das Ziel keine Transaktions-ID ist. |
Nein |
|
|
Die OID der Relation, auf die die Sperre abzielt, oder Null, wenn das Ziel keine Relation oder Teil einer Relation ist. |
Nein |
|
|
Die OID des Sperrziels innerhalb seines Systemkatalogs oder Null, wenn es sich bei dem Ziel nicht um ein allgemeines Datenbankobjekt handelt. |
Nein |
|
|
Die OID der Datenbank, in der das Sperrziel existiert, oder Null, wenn das Ziel ein gemeinsam genutztes Objekt ist, oder Null, wenn das Ziel eine Transaktions-ID ist. |
Nein |
|
|
Der Name der Datenbank, in der das Sperrziel existiert. |
Nein |
|
|
Der Typ des sperrbaren Objekts: Relation, Extend, Frozenid, Page, Tuple, Transactionid, Virtualxid, Spectoken, Object, Userlock, Advisory oder Applytransaction. |
Nein |
|
|
Der Wert ist true, wenn die Sperre mit dem Fast-Pfad gesetzt wurde, und false, wenn die Sperre aus der Hauptsperrtabelle übernommen wurde. |
Nein |
|
Weitere Informationen zu den Werten in den pg_locks
Ansichten pg_stat_activity
und finden Sie in den folgenden Themen der PostgreSQL-Dokumentation.