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 „AuroraLimitless:DistributedCommitPrepareThrottle“
Warteereignis „AuroraLimitless:PreparedTransactionResolution“
Warteereignis „AuroraLimitless:SendPreparedTransactionOutcome“
Warteereignis „AuroraLimitless:GatherDistributedDeadlockGraph“
Warteereignis „AuroraLimitless:DistributedDeadlockDetection“
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“
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.