View a markdown version of this page

Warteereignisse für Limitless Database - Amazon Aurora
IO:TwophaseFilePoolWrite Ereignis abwartenIO:TwophaseFilePoolRead Ereignis abwartenAuroraLimitless:Connect Ereignis abwartenAuroraLimitless:AsyncConnect Ereignis abwartenAuroraLimitless:RemoteStatementSetup Ereignis abwartenAuroraLimitless:RemoteDDLExecution Ereignis abwartenAuroraLimitless:RemoteStatementExecution Ereignis abwartenAuroraLimitless:FetchRemoteResults Ereignis abwartenAuroraLimitless:AsyncGetInitialResponse Ereignis abwartenAuroraLimitless:AsyncGetNextResponse Ereignis abwartenAuroraLimitless:AbortedCommandCleanup Ereignis abwartenAuroraLimitless:DistributedCommitPrepare Ereignis abwartenAuroraLimitless:DistributedCommit Ereignis abwartenAuroraLimitless:DistributedCommitPrepareThrottle Ereignis abwartenAuroraLimitless:PreparedTransactionResolution Ereignis abwartenAuroraLimitless:SendPreparedTransactionOutcome Ereignis abwartenAuroraLimitless:CommitClockBarrier Ereignis abwartenAuroraLimitless:SnapshotClockBarrier Ereignis abwartenAuroraLimitless:ReaderSnapshotClockBarrier Ereignis abwartenAuroraLimitless:GatherDistributedDeadlockGraph Ereignis abwartenAuroraLimitless:DistributedDeadlockDetection Ereignis abwartenAuroraLimitless:DistributedDeadlockAbort Ereignis abwartenAuroraLimitless:GatherRemoteStats Ereignis abwartenAuroraLimitless:GlobalSequenceRefresh Ereignis abwartenAuroraLimitless:GlobalVacuumTimeExchange Ereignis abwartenAuroraLimitless:DistributedTransactionMonitorGather Ereignis abwartenAuroraLimitlessActivity:AdminTaskSchedulerMain Ereignis abwartenAuroraLimitlessActivity:AdminTaskExecutorMain Ereignis abwartenAuroraLimitlessActivity:AdminTaskMonitorMain Ereignis abwartenAuroraLimitlessActivity:DatabaseCleanupMonitorMain Ereignis abwartenAuroraLimitlessActivity:TopologyCleanupMonitorMain Ereignis abwartenAuroraLimitlessActivity:ToplogyChangeMonitorMain Ereignis abwartenAuroraLimitlessActivity:DistributedTransactionMonitorMain Ereignis abwartenAuroraLimitlessActivity:GlobalVacuumMonitorMain Ereignis abwarten

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.

Warteereignisse für Limitless Database

Die folgenden Wareereignisse gelten für Aurora PostgreSQL Limitless Database. Sie können diese Warteereignisse überwachen, um Engpässe bei der Verarbeitung von Aurora PostgreSQL Limitless Database zu identifizieren.

Themen

IO:TwophaseFilePoolWrite Ereignis abwarten

Warten auf das Schreiben einer zweiphasigen Statusdatei innerhalb des zweiphasigen Statusdateipools. Dies ist ein Aurora-spezifisches Ereignis.

Ursachen

Prozesse, die einen PREPARED TRANSACTION-Befehl ausführen, einschließlich Teilnehmern an einer verteilten Transaktion von Limitless Database, müssen den Transaktionsstatus in einer zweiphasigen Datei beibehalten. Aurora verwendet einen Dateipool, um die Leistung dieses Vorgangs zu verbessern.

Action

Da es sich um einen synchronen I/O Schreibvorgang handelt, hat eine hohe Latenz bei diesem Ereignis ähnliche Ursachen IO:XactSync und kann auf dieselbe Weise untersucht werden. Wenn Sie Limitless Database verwenden, müssen Sie möglicherweise die Anzahl der ausgeführten verteilten Transaktionen reduzieren.

IO:TwophaseFilePoolRead Ereignis abwarten

Warten auf das Lesen einer zweiphasigen Statusdatei innerhalb des zweiphasigen Statusdateipools.

Ursachen

Prozesse, die einen COMMIT PREPARED-Befehl für eine zuvor vorbereitete Transaktion ausführen, einschließlich Teilnehmern an einer verteilten Transaktion von Limitless Database, müssen möglicherweise den zuvor gespeicherten Transaktionsstatus aus einer zweiphasigen Datei lesen. Aurora verwendet einen Dateipool, um die Leistung dieses Vorgangs zu verbessern.

Action

Dies ist ein I/O Lesevorgang. Daher hat eine hohe Latenz bei diesem Ereignis ähnliche Ursachen wie IO:DataFileRead und kann auf die gleiche Weise untersucht werden. Wenn Sie Limitless Database verwenden, müssen Sie möglicherweise die Anzahl der ausgeführten verteilten Transaktionen reduzieren.

AuroraLimitless:Connect Ereignis abwarten

Der Prozess wartet darauf, dass eine Verbindung zu einem anderen Knoten im Cluster hergestellt wird.

Ursachen

Verbindungen werden zwischen Prozessen und Remote-Knoten hergestellt, um Abfragen, verteilte Transaktionen und DDLs auszuführen.

Action

Reduzieren Sie die Anzahl der gleichzeitigen Verbindungen zum Cluster oder optimieren Sie die Verwendung von Cross-Shard-Abfragen.

AuroraLimitless:AsyncConnect Ereignis abwarten

Dieses Ereignis ähnelt Connect, stellt aber einen Prozess dar, der darauf wartet, dass parallele Verbindungen zu einer Gruppe von Knoten hergestellt werden.

Ursachen

Der parallele Verbindungsaufbau erfolgt am häufigsten bei der Ausführung von DDL-Anweisungen.

Action

Reduzieren Sie die Anzahl der DDL-Anweisungen oder kombinieren Sie mehrere DDLs in derselben Sitzung, um die Wiederverwendung von Verbindungen zu verbessern.

AuroraLimitless:RemoteStatementSetup Ereignis abwarten

Der Prozess wartet auf die Einrichtung der Remoteabfrageausführung, wie z. B. das Öffnen oder Schließen des Cursors oder die Erstellung einer vorbereiteten Anweisung.

Ursachen

Dieses Warteereignis nimmt mit der Anzahl der Scans in Sharde-Tabellen zu, bei denen die Anweisung nicht für ein einzelnes Shard optimiert werden konnte.

Action

Optimieren Sie Abfragen, um die Anzahl der Scanvorgänge zu reduzieren oder die Eignung für die Single-Shard-Optimierung zu erhöhen.

AuroraLimitless:RemoteDDLExecution Ereignis abwarten

Der Prozess wartet darauf, dass ein Remote-DDL-Befehl abgeschlossen wird.

Ursachen

Wenn Sie einen DDL-Befehl für eine DB-Shard-Gruppe ausgeben, muss er an andere Router- und Shard-Knoten verteilt werden, bevor der Vorgang bestätigt wird. Einige DDL-Vorgänge können lange dauern, da Daten an Schemaänderungen angepasst werden müssen.

Action

Identifizieren Sie DDL-Befehle mit langer Laufzeit, damit Sie sie optimieren können.

AuroraLimitless:RemoteStatementExecution Ereignis abwarten

Der Prozess wartet darauf, dass ein Remote-Befehl abgeschlossen wird.

Ursachen

Ein SQL-Befehl wird auf einem Remote-Knoten ausgeführt. Dieses Ereignis tritt häufig bei der internen Kommunikation auf, z. B. bei auto_analyze Heartbeat-Überprüfungen.

Action

Identifizieren Sie Befehle mit langer Laufzeit in der Ansicht „limitless_stat_statements“. In vielen Fällen handelt es sich hierbei um ein erwartetes Ereignis, insbesondere bei Hintergrundprozessen oder internen Prozessen, sodass keine Maßnahmen erforderlich sind.

AuroraLimitless:FetchRemoteResults Ereignis abwarten

Ein Prozess wartet darauf, Zeilen von einem Remote-Knoten abzurufen.

Ursachen

Dieses Warteereignis kann zunehmen, wenn eine große Anzahl von Zeilen aus einer Remote-Tabelle abgerufen wird, z. B. aus einer Sharded- oder Referenztabelle.

Action

Identifizieren Sie nicht optimierte SELECT-Abfragen in der Ansicht limitless_stat_statements. Optimieren Sie Abfragen, um nur die erforderlichen Daten abzurufen. Sie können auch den Parameter rds_aurora.limitless_maximum_adaptive_fetch_size anpassen.

AuroraLimitless:AsyncGetInitialResponse Ereignis abwarten

Der Prozess wartet auf eine erste Antwort, wenn der Pipeline-Modus bei der Abfrageausführung verwendet wird.

Ursachen

Dies tritt normalerweise bei der Router-zu-Shard-Ausführung bei Abfragen mit Single-Shard-Datenplatzierung auf und ist ein erwarteter Teil der normalen Ausführung.

Action

Es sind keine weiteren Maßnahmen erforderlich.

AuroraLimitless:AsyncGetNextResponse Ereignis abwarten

Der Prozess wartet auf eine zusätzliche Antwort, wenn der Pipeline-Modus bei der Abfrageausführung verwendet wird.

Ursachen

Dies tritt normalerweise bei der Router-zu-Shard-Ausführung bei Abfragen mit Single-Shard-Datenplatzierung auf und ist ein erwarteter Teil der normalen Ausführung.

Action

Es sind keine weiteren Maßnahmen erforderlich.

AuroraLimitless:AbortedCommandCleanup Ereignis abwarten

Der Prozess wartet auf das Ergebnis einer Remote-Bereinigungsabfrage. Bereinigungsabfragen werden an Shard-Knoten ausgegeben, um sie nach dem Beenden einer verteilten Transaktion wieder in einen geeigneten Zustand zu versetzen.

Ursachen

Eine Transaktionsbereinigung wird durchgeführt, wenn eine Transaktion abgebrochen wird, weil ein Fehler gefunden wurde oder weil ein Benutzer einen expliziten ABORT-Befehl ausgegeben oder die laufende Abfrage abgebrochen hat.

Action

Untersuchen Sie die Ursache für den Abbruch der Transaktion.

AuroraLimitless:DistributedCommitPrepare Ereignis abwarten

Der Prozess schreibt eine verteilte Transaktion fest und wartet darauf, dass alle Teilnehmer den Prepare-Befehl bestätigen.

Ursachen

Transaktionen, die mehrere Knoten ändern, müssen eine verteilte Festschreibung durchführen. Eine lange Wartezeit in DistributedCommitPrepare kann durch lange Wartezeiten beim Ereignis IO:TwophaseFilePoolWrite auf den teilnehmenden Knoten verursacht werden.

Action

Reduzieren Sie die Anzahl der Transaktionen, die Daten auf mehreren Knoten ändern. Untersuchen Sie IO:TwophaseFilePoolWrite-Ereignisse in anderen Knoten des Clusters.

AuroraLimitless:DistributedCommit Ereignis abwarten

Der Prozess schreibt eine verteilte Transaktion fest und wartet darauf, dass der führende Teilnehmer den Prepare-Befehl bestätigt.

Ursachen

Transaktionen, die mehrere Knoten ändern, müssen eine verteilte Festschreibung durchführen. Eine lange Wartezeit in DistributedCommit kann durch lange Wartezeiten beim IO:XactSync-Ereignis auf den führenden Teilnehmer verursacht werden.

Action

Reduzieren Sie die Anzahl der Transaktionen, die Daten auf mehreren Knoten ändern. Untersuchen Sie IO:XactSync-Ereignisse in anderen Knoten des Clusters.

AuroraLimitless:DistributedCommitPrepareThrottle Ereignis abwarten

Der Prozess versucht, eine verteilte Transaktion vorzubereiten, und wird aufgrund vorhandener vorbereiteter Transaktionen auf die Dauer gedrosselt.

Ursachen

Transaktionen, die mehrere Knoten ändern, müssen eine verteilte Festschreibung durchführen. Die Teilnehmer an diesen Transaktionen müssen im Rahmen des Festschreibungsprotokolls einen Vorbereitungsvorgang durchführen. Aurora begrenzt die Anzahl der gleichzeitigen prepare-Vorgänge, und wenn dieses Limit überschritten wird, wartet der Prozess auf das DistributedCommitPrepareThrottle-Ereignis.

Action

Reduzieren Sie die Anzahl der Transaktionen, die Daten auf mehreren Knoten ändern. Untersuchen Sie IO:TwophaseFilePoolWrite-Ereignisse, da eine längere Dauer dieser Ereignisse dazu führen kann, dass sich bereits vorbereitete Transaktionen ansammeln, was zu einer Drosselung neuer Vorbereitungsversuche führt.

AuroraLimitless:PreparedTransactionResolution Ereignis abwarten

Beim Prozess ist ein Tupel aufgetreten, das durch eine verteilte Transaktion verändert wurde, die sich im Status „Vorbereitet“ befindet. Der Prozess muss ermitteln, ob die verteilte Transaktion in ihrem Snapshot sichtbar wird.

Ursachen

Transaktionen, die mehrere Knoten ändern, müssen eine verteilte Festschreibung durchführen, die eine Vorbereitungsphase beinhaltet. Eine hohe Anzahl verteilter Transaktionen oder eine erhöhte Latenz bei verteilten Festschreibungen können dazu führen, dass bei anderen Prozessen das Warteereignis PreparedTransactionResolution auftritt.

Action

Reduzieren Sie die Anzahl der Transaktionen, die Daten auf mehreren Knoten ändern. Untersuchen Sie Ereignisse im Zusammenhang mit verteilten Festschreibungen, da eine längere Dauer dieser Ereignisse die Latenz im Festschreibungspfad verteilter Transaktionen erhöhen könnte. Möglicherweise möchten Sie auch die Netzwerk- und CPU-Auslastung untersuchen.

AuroraLimitless:SendPreparedTransactionOutcome Ereignis abwarten

Der Prozess wird auf einem Knoten ausgeführt, der eine verteilte Transaktion koordiniert, und ein anderer Prozess hat den Status dieser Transaktion abgefragt, oder der Prozess hat eine verteilte Transaktion festgeschrieben und sendet das Ergebnis an die Teilnehmer.

Ursachen

Prozesse, bei denen das Warteereignis PreparedTransactionResolution auftritt, fragen den Transaktionskoordinator ab. Die Antwort des Transaktionskoordinators wird angezeigt. SendPreparedTransactionOutcome

Action

Reduzieren Sie die Anzahl der Transaktionen, die Daten auf mehreren Knoten ändern. Untersuchen Sie Ereignisse im Zusammenhang mit verteilten Festschreibungen sowie IO:TwophaseFilePoolWrite- und IO:TwophaseFilePoolRead-Ereignissen, da eine längere Dauer dieser Ereignisse die Latenz im Festschreibungspfad verteilter Transaktionen erhöhen könnte. Möglicherweise möchten Sie auch die Netzwerk- und CPU-Auslastung untersuchen.

AuroraLimitless:CommitClockBarrier Ereignis abwarten

Der Prozess schreibt eine Transaktion fest und muss warten, um sicherzustellen, dass die zugewiesene Festschreibungszeit für alle Knoten im Cluster garantiert in der Vergangenheit liegt.

Ursachen

Eine CPU- oder Netzwerkauslastung kann zu einer erhöhten Taktabweichung führen, was zu einer Verlängerung der Wartezeit bei diesem Warteereignis führt.

Action

Untersuchen Sie die CPU- oder Netzwerkauslastung in Ihrem Cluster.

AuroraLimitless:SnapshotClockBarrier Ereignis abwarten

Der Prozess hat eine Snapshot-Zeit von einem anderen Knoten mit einem Takt in der Zukunft empfangen und wartet darauf, dass sein eigener Takt diese Zeit erreicht.

Ursachen

Dies tritt normalerweise auf, nachdem der Prozess Ergebnisse einer Funktion erhalten hat, die auf einen Shard heruntergeschoben wurde, und eine Taktverschiebung zwischen den Knoten vorliegt. Eine CPU- oder Netzwerkauslastung kann zu einer erhöhten Taktabweichung führen, was zu einer Verlängerung der Wartezeit bei diesem Warteereignis führt.

Action

Untersuchen Sie die CPU- oder Netzwerkauslastung in Ihrem Cluster.

AuroraLimitless:ReaderSnapshotClockBarrier Ereignis abwarten

Dieses Ereignis tritt auf Leseknoten auf. Der Prozess wartet darauf, dass der Leseknoten den Schreibstream wiedergibt, sodass alle Schreibvorgänge, die vor dem Zeitpunkt des Prozess-Snapshots stattfanden, übernommen wurden.

Ursachen

Eine Zunahme der Aurora-Replikatverzögerung kann in diesem Fall zu längeren Wartezeiten führen.

Action

Untersuchen Sie die Aurora-Replikatverzögerung.

AuroraLimitless:GatherDistributedDeadlockGraph Ereignis abwarten

Der Prozess kommuniziert mit anderen Knoten, um im Rahmen der Erkennung verteilter Deadlocks Sperrdiagramme zu erfassen.

Ursachen

Wenn ein Prozess auf eine Sperre wartet, führt er eine Überprüfung auf verteilte Deadlocks durch, nachdem er länger gewartet hat als rds_aurora.limitless_distributed_deadlock_timeout.

Action

Untersuchen Sie die Ursachen für Sperrkonflikte in Ihrer Anwendung und ziehen Sie eine Optimierung von rds_aurora.limitless_distributed_deadlock_timeout in Betracht.

AuroraLimitless:DistributedDeadlockDetection Ereignis abwarten

Der Prozess kommuniziert mit anderen Knoten, um verteilte Deadlocks zu erkennen.

Ursachen

Wenn ein Prozess auf eine Sperre wartet, führt er eine Überprüfung auf verteilte Deadlocks durch, nachdem er länger gewartet hat als rds_aurora.limitless_distributed_deadlock_timeout.

Action

Untersuchen Sie die Ursachen für Sperrkonflikte in Ihrer Anwendung und ziehen Sie eine Optimierung von rds_aurora.limitless_distributed_deadlock_timeout in Betracht.

AuroraLimitless:DistributedDeadlockAbort Ereignis abwarten

Der Prozess kommuniziert mit einem anderen Knoten, um eine Sitzung abzubrechen, die als Opfer in einem verteilten Deadlock ausgewählt wurde.

Ursachen

Anwendungsmuster führen zu verteilten Deadlocks.

Action

Untersuchen Sie Anwendungsmuster, die zu verteilten Deadlocks führen.

AuroraLimitless:GatherRemoteStats Ereignis abwarten

Der Prozess sammelt Statistiken von anderen Knoten im Cluster.

Ursachen

Überwachungs- oder Aktivitätsabfragen und -ansichten wie beispielsweiselimitless_stat_activity rufen Statistiken von anderen Knoten ab.

Action

Es sind keine weiteren Maßnahmen erforderlich.

AuroraLimitless:GlobalSequenceRefresh Ereignis abwarten

Der Prozess generiert einen neuen Sequenzwert und muss einen neuen Block aus der globalen Sequenz anfordern.

Ursachen

Eine hohe Rate der Generierung von Sequenzwerten kann in diesem Fall zu Verzögerungen führen, wenn rds_aurora.limitless_sequence_chunk_size nicht ausreicht.

Action

Dies ist ein normales Ereignis. Wenn Sie feststellen, dass dieses Ereignis zu lange dauert, sollten Sie eine Optimierung von rds_aurora.limitless_sequence_chunk_size in Betracht ziehen. Weitere Informationen finden Sie in der Dokumentation zu Sequenzen in Limitless Database.

AuroraLimitless:GlobalVacuumTimeExchange Ereignis abwarten

Der Prozess tauscht Snapshot-Daten zur Unterstützung der Bereinigung aus.

Ursachen

Knoten in Limitless Database tauschen die ältesten aktiven Snapshot-Daten mit anderen Knoten aus, um den korrekten Sperrzeitpunkt für die Ausführung der Bereinigung zu berechnen.

Action

Es sind keine weiteren Maßnahmen erforderlich.

AuroraLimitless:DistributedTransactionMonitorGather Ereignis abwarten

Der Prozess sammelt Transaktionsmetadaten von anderen Knoten, um die verteilte Transaktionsbereinigung zu unterstützen.

Ursachen

Knoten in Limitless Database tauschen Transaktionsmetadaten mit anderen Knoten aus, um festzustellen, wann der Status verteilter Transaktionen gelöscht werden kann.

Action

Es sind keine weiteren Maßnahmen erforderlich.

AuroraLimitlessActivity:AdminTaskSchedulerMain Ereignis abwarten

Wartet in der Hauptschleife des Aufgabenplanerprozesses.

AuroraLimitlessActivity:AdminTaskExecutorMain Ereignis abwarten

Wartet in der Hauptschleife des Aufgabenausführungsprozesses.

AuroraLimitlessActivity:AdminTaskMonitorMain Ereignis abwarten

Wartet in der Hauptschleife des Aufgabenüberwachungsprozesses.

AuroraLimitlessActivity:DatabaseCleanupMonitorMain Ereignis abwarten

Wartet in der Hauptschleife des Aufgabenüberwachungsprozesses der Datenbank.

AuroraLimitlessActivity:TopologyCleanupMonitorMain Ereignis abwarten

Wartet in der Hauptschleife des Bereinigungsüberwachungsprozesses der Topologie.

AuroraLimitlessActivity:ToplogyChangeMonitorMain Ereignis abwarten

Wartet in der Hauptschleife des Änderungsüberwachungsprozesses der Topologie.

AuroraLimitlessActivity:DistributedTransactionMonitorMain Ereignis abwarten

Wartet in der Hauptschleife des verteilten Transaktionsüberwachungsprozesses.

AuroraLimitlessActivity:GlobalVacuumMonitorMain Ereignis abwarten

Wartet in der Hauptschleife des globalen Bereinigungsüberwachungsprozesses.