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.
Überwachen der Lesereplikation
Es gibt mehrere Arten, den Status eines Lesereplikats zu überwachen. Die Amazon-RDS-Konsole zeigt den Status eines Lesereplikats in den Lesereplikat-Details im Abschnitt Replication (Replikation) der Registerkarte Connectivity & security (Konnektivität & Sicherheit) an. Um die Details für ein Lesereplikat anzuzeigen, klicken Sie in der Liste der DB-Instances in der Amazon-RDS-Konsole auf den Namen des Lesereplikats.

Sie können den Status einer Read Replica auch mithilfe des AWS CLI
describe-db-instances
Befehls oder des Amazon DescribeDBInstances
RDS-API-Vorgangs anzeigen.
Der Status eines Lesereplikats kann einer der folgenden sein:
-
replicating (replizierend)– Das Lesereplikat wird erfolgreich repliziert.
-
Replikation beeinträchtigt (nur SQL Server und PostgreSQL) – Replikate erhalten Daten von der primären Instance, doch mindestens eine Datenbank erhält möglicherweise keine Aktualisierungen. Dies kann beispielsweise auftreten, wenn ein Replikat gerade neu erstellte Datenbanken einrichtet. Er kann auch auftreten, wenn DDL oder große Objektänderungen in der blauen Umgebung einer Bereitstellung vorgenommen werden, die nicht unterstützt werden. blue/green
Der Status wechselt nicht von
replication degraded
zuerror
, es sei denn, während des beeinträchtigten Zustands tritt ein Fehler auf. -
error (Fehler) – Während des Replikationsvorgangs ist ein Fehler aufgetreten. Überprüfen Sie das Feld Replikationsfehler in der Amazon RDS-Konsole oder im Ereignisprotokoll, um den genauen Fehler zu bestimmen. Weitere Informationen über Fehlerbehebung eines Replikationsfehlers finden Sie unter Behebung eines My SQL Read Replica-Problems.
-
terminated (beendet) (nur MariaDB, MySQL oder PostgreSQL) – Die Replikation ist beendet. Dies tritt auf, wenn die Replikation für mehr als 30 aufeinanderfolgende Tage entweder manuell oder aufgrund eines Replikationsfehlers angehalten wurde. In diesem Fall beendet Amazon RDS die Replikation zwischen der primären DB-Instance und allen Lesereplikaten. Amazon RDS tut dies, um erhöhten Speicheranforderungen in der Quell-DB-Instance vorzubeugen und lange Failover-Zeiten zu vermeiden.
Unterbrochene Replikation kann sich auf den Speicher auswirken, da die Protokolle aufgrund des hohen Volumens an Fehlermeldungen, die in das Protokoll geschrieben werden, an Größe und Anzahl zunehmen können. Unterbrochene Replikation kann sich auch auf die Ausfallwiederherstellung auswirken, bedingt durch den Zeitaufwand von Amazon RDS für das Warten und Verarbeiten einer großen Anzahl an Protokollen während der Wiederherstellung.
-
terminated (beendet) (nur Oracle) – Die Replikation wurde beendet. Dies tritt auf, wenn die Replikation länger als 8 Stunden angehalten wurde, weil auf dem Lesereplikat nicht mehr genügend Speicherplatz vorhanden ist. In diesem Fall beendet Amazon RDS die Replikation zwischen der primären DB-Instance und den betroffenen Lesereplikaten. Dieser Status ist ein Terminalstatus und das Lesereplikat muss neu erstellt werden.
-
stopped (angehalten) (nur für MySQL oder MariaDB) – Die Replikation wurde aufgrund einer benutzerseitigen Anfrage angehalten.
-
replication stop point set (Stopppunkt für das Beenden der Replikation festgelegt) (nur MySQL) – Ein vom Benutzer initiierter Stopppunkt wurde mit der gespeicherten Prozedur festgelegt und die Replikation ist im Gange.
-
replication stop point reached (Stopppunkt für das Beenden der Replikation erreicht) (nur MySQL) – Ein vom Benutzer initiierter Stopppunkt wurde mit der gespeicherten Prozedur festgelegt und die Replikation wurde gestoppt, da der Stopppunkt erreicht wurde.
Sie können sehen, wo eine DB-Instance repliziert wird, und wenn ja, ihren Replizierungsstatus überprüfen. Auf der Seite „ Datenbanken “ in der RDS-Konsole wird „ Primär “ in der Spalte „ Rolle “ angezeigt. Wählen Sie seinen DB-Instance-Namen. Auf der Detailseite auf der Registerkarte Connectivity & Security befindet sich der Replikationsstatus unter Replikation.
Überwachen einer Replikationsverzögerung
Sie können die Replikationsverzögerung in Amazon überwachen, CloudWatch indem Sie sich die Amazon ReplicaLag
RDS-Metrik ansehen.
Für Db2 ist die
ReplicaLag
Metrik die maximale Verzögerung von Datenbanken, die ins Hintertreffen geraten sind, in Sekunden. Wenn beispielsweise zwei Datenbanken 5 Sekunden bzw. 10 Sekunden hinterherhinken, dann sind ReplicaLag
es 10 Sekunden. Datenbanken ohne verfügbaren HADR-Status (High Availability Disaster Recovery) werden nicht in die Berechnung einbezogen.
Für MariaDB und MySQL gibt dieReplicaLag
Metrik den Wert desSeconds_Behind_Master
Feldes desSHOW REPLICA STATUS
Befehls an. Häufige Ursachen für Replikationsverzögerungen in MySQL und MariaDB sind die Folgenden:
-
Ein Netzwerkausfall.
-
Schreibvorgänge auf Tabellen mit Indizes auf einem Lesereplikat. Wenn der Parameter
read_only
im Lesereplikat nicht auf 0 gesetzt ist, kann es die Replikation unterbrechen. -
Die Verwendung einer nicht-transaktionalen Speicher-Engine wie MyISAM: Replikation wird nur für die InnoDB-Speicher-Engine in MySQL und die XtraDB-Speicher-Engine in MariaDB unterstützt.
Anmerkung
Frühere Versionen von MariaDB wurdenSHOW SLAVE STATUS
anstelle von verwendetSHOW REPLICA STATUS
. Wenn Sie eine MariaDB-Version unter 10.5 verwenden, verwenden Sie. SHOW SLAVE STATUS
Wenn die Metrik ReplicaLag
den Wert 0 erreicht, hat das Replikat den Stand der primären DB-Instance erreicht. Wenn die ReplicaLag
-Metrik -1
zurückgibt, ist die Replikation aktuell nicht aktiv. ReplicaLag = -1
ist gleich Seconds_Behind_Master = NULL
.
Für Oracle ist die Metrik ReplicaLag
die Summe des Apply
Lag
-Wertes und der Differenz zwischen der aktuellen Zeit und dem DATUM_TIME
-Wert der zeitlichen Verzögerung. Der DATUM_TIME
-Wert ist der Zeitpunkt, an dem das Lesereplikat zuletzt Daten von seiner Quell-DB-Instance erhalten hat. Weitere Informationen finden Sie unter V$DATAGUARD_STATS
Für SQL Server ist die ReplicaLag
-Metrik die maximale Verzögerung von Datenbanken, die zurückgefallen sind, in Sekunden. Wenn Sie beispielsweise zwei Datenbanken haben, die eine Verzögerung von 5 bzw. 10 Sekunden aufweisen, dann beträgt ReplicaLag
10 Sekunden. Die ReplicaLag
-Metrik gibt den Wert der folgenden Abfrage zurück.
SELECT MAX(secondary_lag_seconds) max_lag FROM sys.dm_hadr_database_replica_states;
Weitere Informationen finden Sie unter secondary_lag_seconds
ReplicaLag
gibt -1
zurück, wenn RDS die Verzögerung nicht ermitteln kann, z. B. während der Replikateinrichtung oder wenn sich das Lesereplikat im Status error
befindet.
Anmerkung
Neue Datenbanken werden erst dann in die Verzögerungsberechnung einbezogen, wenn auf dem Lesereplikat auf sie zugegriffen werden kann.
Für PostgreSQL gibt die ReplicaLag
-Metrik den Wert der folgenden Abfrage zurück.
SELECT extract(epoch from now() - pg_last_xact_replay_timestamp()) AS reader_lag
Die PostgreSQL-Versionen 9.5.2 und höher verwenden physische Replikations-Slots, um die Write-Ahead-Log-Aufbewahrung (WAL) in der Quell-Instance zu verwalten. Für jede regionsübergreifende Lesereplikat-Instance erstellt Amazon RDS einen physischen Replikations-Slot und weist diesen der Instance zu. Zwei CloudWatch Amazon-Metriken Oldest Replication Slot Lag
und zeigenTransaction
Logs Disk Usage
, wie weit das verzögerteste Replikat in Bezug auf die empfangenen WAL-Daten zurückliegt und wie viel Speicher für WAL-Daten verwendet wird. Der Wert Transaction
Logs Disk Usage
kann erheblich ansteigen, wenn ein regionsübergreifendes Lesereplikat signifikant verzögert ist.
Weitere Informationen zur Überwachung einer DB-Instance mit finden Sie CloudWatch unter. Überwachung von Amazon RDS mit Amazon CloudWatch