Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Die Länge der InnoDB-Verlaufsliste wurde deutlich erhöht - Amazon Aurora

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.

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.

Die Länge der InnoDB-Verlaufsliste wurde deutlich erhöht

Ab sofort date wurde Ihre Verlaufsliste für Zeilenänderungen erheblich erweitert, bis hin length db-instance zu Dieser Anstieg wirkt sich auf die Leistung beim Herunterfahren von Abfragen und Datenbanken aus.

Unterstützte Engine-Versionen

Diese Insight-Informationen werden für alle Versionen von unterstützt.

Kontext

Das InnoDB-Transaktionssystem behält die Multiversion Concurrency Control (MVCC) bei. Wenn eine Zeile geändert wird, wird die Version der geänderten Daten vor der Änderung als Undo-Datensatz in einem Undo-Protokoll gespeichert. Jeder Undo-Datensatz hat einen Verweis auf seinen vorherigen Redo-Datensatz, wodurch eine verknüpfte Liste entsteht.

Die InnoDB-Verlaufsliste ist eine globale Liste der Undo-Protokolle für übernommene Transaktionen. MySQL verwendet die Verlaufsliste, um Datensätze und Protokollseiten zu löschen, wenn Transaktionen den Verlauf nicht mehr benötigen. Die Länge der Verlaufsliste ist die Gesamtzahl der Undo-Protokolle, die Änderungen in der Verlaufsliste enthalten. Jedes Protokoll umfasst eine oder mehrere Änderungen. Wenn die Länge der InnoDB-Verlaufsliste zu groß wird, was auf eine große Anzahl alter Zeilenversionen hinweist, werden Abfragen und Datenbankabschaltungen langsamer.

Mögliche Ursachen für dieses Problem

Zu den typischen Ursachen einer langen Verlaufsliste gehören die folgenden:

  • Transaktionen mit langer Laufzeit, entweder beim Lesen oder Schreiben

  • Eine hohe Schreiblast

Aktionen

Abhängig von den Ursachen Ihres Einblicks empfehlen wir verschiedene Aktionen.

Beginnen Sie keine Operation, die ein Herunterfahren der Datenbank beinhaltet, bis die InnoDB-Verlaufsliste kürzer wird

Da eine lange InnoDB-Verlaufsliste das Herunterfahren von Datenbanken verlangsamt, sollten Sie die Listengröße reduzieren, bevor Sie Operationen einleiten, die ein Herunterfahren der Datenbank beinhalten. Zu diesen Vorgängen gehören Datenbank-Upgrades der Hauptversionen.

Identifizieren und beenden Sie lang andauernde Transaktionen

Sie können Transaktionen mit langer Laufzeit finden, indem Sie information_schema.innodb_trx abfragen.

Anmerkung

Achten Sie auch darauf, bei Read Replicas nach Transaktionen mit langer Laufzeit zu suchen.

So identifizieren und beenden Sie lang andauernde Transaktionen
  1. Führen Sie das folgende Skript in Ihrem SQL-Client aus:

    SELECT a.trx_id, a.trx_state, a.trx_started, TIMESTAMPDIFF(SECOND,a.trx_started, now()) as "Seconds Transaction Has Been Open", a.trx_rows_modified, b.USER, b.host, b.db, b.command, b.time, b.state FROM information_schema.innodb_trx a, information_schema.processlist b WHERE a.trx_mysql_thread_id=b.id AND TIMESTAMPDIFF(SECOND,a.trx_started, now()) > 10 ORDER BY trx_started
  2. Beenden Sie jede lang andauernde Transaktion mit der gespeicherten Prozedur. mysql.rds_kill

Verwenden Sie Performance Insights, um die Top-Hosts und Top-Benutzer zu identifizieren.

Optimieren Sie Transaktionen, so dass eine große Anzahl geänderter Zeilen sofort bestätigt wird.

Relevante Metriken

Die folgenden Metriken beziehen sich auf diesen Einblick:

  • trx_rseg_history_len— Diese Zählermetrik kann sowohl in Performance Insights als auch in der INFORMATION_SCHEMA.INNODB_METRICS Tabelle eingesehen werden. Weitere Informationen finden Sie in der InnoDB INFORMATION_SCHEMA-Metriktabelle in der MySQL-Dokumentation.

  • RollbackSegmentHistoryListLength— Diese CloudWatch Amazon-Metrik misst die Undo-Logs, in denen festgeschriebene Transaktionen mit als gelöscht markierten Datensätzen aufgezeichnet werden. Diese Datensätze sind für die Verarbeitung durch den InnoDB-Löschvorgang geplant. Die Metrik trx_rseg_history_len hat den gleichen Wert wie. RollbackSegmentHistoryListLength

  • PurgeBoundary— Die Transaktionsnummer, bis zu der InnoDB-Bereinigung zulässig ist. Wenn sich diese CloudWatch Metrik über einen längeren Zeitraum nicht weiterentwickelt, ist dies ein gutes Anzeichen dafür, dass das Löschen von InnoDB durch Transaktionen mit langer Laufzeit blockiert wird. Überprüfen Sie zur Untersuchung die aktiven Transaktionen auf Ihrem Aurora MySQL-DB-Cluster. Diese Metrik ist nur für Aurora MySQL Version 2.11 und höher und Version 3.08 und höher verfügbar.

  • PurgeFinishedPoint— Die Transaktionsnummer, bis zu der die InnoDB-Bereinigung durchgeführt wird. Mithilfe dieser CloudWatch Metrik können Sie untersuchen, wie schnell die InnoDB-Bereinigung voranschreitet. Diese Metrik ist nur für Aurora MySQL Version 2.11 und höher und Version 3.08 und höher verfügbar.

  • TransactionAgeMaximum— Das Alter der ältesten aktiv laufenden Transaktion. Diese CloudWatch Metrik ist nur für Aurora MySQL Version 3.08 und höher verfügbar.

  • TruncateFinishedPoint— Die Transaktionsnummer, bis zu der die Kürzung rückgängig gemacht wird. Diese CloudWatch Metrik ist nur für Aurora MySQL Version 2.11 und höher und Version 3.08 und höher verfügbar.

Weitere Informationen zu den CloudWatch Metriken finden Sie unter. Metriken auf Instance-Ebene für Amazon Aurora

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.