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

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

Warteereignis „IO:TwophaseFilePoolWrite“

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.

Aktion

Da es sich um einen synchronen I/O-Schreibvorgang handelt, hat eine hohe Latenz in diesem Fall ähnliche Ursachen wie 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.

Warteereignis „IO:TwophaseFilePoolRead“

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.

Aktion

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.

Warteereignis „AuroraLimitless:Connect“

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.

Aktion

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

Warteereignis „AuroraLimitless:AsyncConnect“

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.

Aktion

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

Warteereignis „AuroraLimitless:RemoteStatementSetup“

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.

Aktion

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

Warteereignis „AuroraLimitless:RemoteDDLExecution“

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.

Aktion

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

Warteereignis „AuroraLimitless:RemoteStatementExecution“

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.

Aktion

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.

Warteereignis „AuroraLimitless:FetchRemoteResults“

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.

Aktion

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.

Warteereignis „AuroraLimitless:AsyncGetInitialResponse“

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.

Aktion

Es sind keine weiteren Maßnahmen erforderlich.

Warteereignis „AuroraLimitless:AsyncGetNextResponse“

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.

Aktion

Es sind keine weiteren Maßnahmen erforderlich.

Warteereignis „AuroraLimitless:AbortedCommandCleanup“

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.

Aktion

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

Warteereignis „AuroraLimitless:DistributedCommitPrepare“

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.

Aktion

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

Warteereignis „AuroraLimitless:DistributedCommit“

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.

Aktion

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

Warteereignis „AuroraLimitless:DistributedCommitPrepareThrottle“

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.

Aktion

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.

Warteereignis „AuroraLimitless:PreparedTransactionResolution“

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.

Aktion

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.

Warteereignis „AuroraLimitless:SendPreparedTransactionOutcome“

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. Bei der Antwort des Transaktionskoordinators tritt SendPreparedTransactionOutcome auf.

Aktion

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.

Warteereignis „AuroraLimitless:CommitClockBarrier“

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.

Aktion

Untersuchen Sie die CPU- oder Netzwerkauslastung in Ihrem Cluster.

Warteereignis „AuroraLimitless:SnapshotClockBarrier“

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.

Aktion

Untersuchen Sie die CPU- oder Netzwerkauslastung in Ihrem Cluster.

Warteereignis „AuroraLimitless:ReaderSnapshotClockBarrier“

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.

Aktion

Untersuchen Sie die Aurora-Replikatverzögerung.

Warteereignis „AuroraLimitless:GatherDistributedDeadlockGraph“

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.

Aktion

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

Warteereignis „AuroraLimitless:DistributedDeadlockDetection“

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.

Aktion

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

Warteereignis „AuroraLimitless:DistributedDeadlockAbort“

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.

Aktion

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

Warteereignis „AuroraLimitless:GatherRemoteStats“

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.

Aktion

Es sind keine weiteren Maßnahmen erforderlich.

Warteereignis „AuroraLimitless:GlobalSequenceRefresh“

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.

Aktion

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.

Warteereignis „AuroraLimitless:GlobalVacuumTimeExchange“

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.

Aktion

Es sind keine weiteren Maßnahmen erforderlich.

Warteereignis „AuroraLimitless:DistributedTransactionMonitorGather“

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.

Aktion

Es sind keine weiteren Maßnahmen erforderlich.

Warteereignis „AuroraLimitlessActivity:AdminTaskSchedulerMain“

Wartet in der Hauptschleife des Aufgabenplanerprozesses.

Warteereignis „AuroraLimitlessActivity:AdminTaskExecutorMain“

Wartet in der Hauptschleife des Aufgabenausführungsprozesses.

Warteereignis „AuroraLimitlessActivity:AdminTaskMonitorMain“

Wartet in der Hauptschleife des Aufgabenüberwachungsprozesses.

Warteereignis „AuroraLimitlessActivity:DatabaseCleanupMonitorMain“

Wartet in der Hauptschleife des Aufgabenüberwachungsprozesses der Datenbank.

Warteereignis „AuroraLimitlessActivity:TopologyCleanupMonitorMain“

Wartet in der Hauptschleife des Bereinigungsüberwachungsprozesses der Topologie.

Warteereignis „AuroraLimitlessActivity:ToplogyChangeMonitorMain“

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

Warteereignis „AuroraLimitlessActivity:DistributedTransactionMonitorMain“

Wartet in der Hauptschleife des verteilten Transaktionsüberwachungsprozesses.

Warteereignis „AuroraLimitlessActivity:GlobalVacuumMonitorMain“

Wartet in der Hauptschleife des globalen Bereinigungsüberwachungsprozesses.