Wie behebe ich eine hohe Quelllatenz bei einer AWS DMS-Aufgabe?

Lesedauer: 4 Minute
0

Ich beobachte eine hohe Quelllatenz bei meiner Aufgabe im AWS Database Migration Service (AWS DMS). Was verursacht die Quelllatenz während der Migration?

Kurzbeschreibung

Sie können Ihre AWS DMS-Aufgabe mithilfe von Amazon CloudWatch-Metriken überwachen. Während der Migration kann es während der laufenden Replikationsphase (Change Data Capture (CDC)) einer AWS DMS-Aufgabe zu Quelllatenz kommen. Sie können die CloudWatch-Service-Metrik für CDCLatencySource verwenden, um die Quelllatenz für eine AWS DMS-Aufgabe zu überwachen. Möglicherweise wird bei einer AWS DMS-Aufgabe die Quelllatenz in folgenden Fällen angezeigt:

  • Die Quelldatenbank verfügt über begrenzte Ressourcen.
  • Die AWS DMS-Replikationsinstanz verfügt über begrenzte Ressourcen.
  • Die Netzwerkgeschwindigkeit zwischen der Quelldatenbank und der AWS DMS-Replikationsinstanz ist langsam.
  • AWS DMS liest während der laufenden Replikation neue Änderungen aus den Transaktionsprotokollen der Quelldatenbank.
  • Die Aufgabeneinstellungen von AWS DMS sind unzureichend oder große Objekte (LOBs) werden migriert.
  • Die Oracle-Quelldatenbank, die für die AWS DMS-Aufgabe verwendet wird, verwendet LogMiner für die fortlaufende Replikation.

Auflösung

Die Quelldatenbank verfügt über begrenzte Ressourcen. Es ist eine bewährte Methode, die native Überwachung für Ihre Quell-DB-Engine zu verwenden. Durch die Verwendung der nativen Überwachung wird sichergestellt, dass es in Ihrer Datenbank nicht zu Leistungsengpässen wie Speicherkonflikten oder I/O-Sättigung kommt.

Die AWS DMS-Replikationsinstanz verfügt über begrenzte Ressourcen. Überwachen Sie die Metriken der Replikationsinstanz wie CPUUtilization, FreeStorageSpace und FreeableMemory. Stellen Sie sicher, dass die Replikationsinstanz über genügend Ressourcen verfügt, um Ihre Aufgabe zu verwalten.

Die Netzwerkgeschwindigkeit zwischen der Quelldatenbank und der AWS DMS-Replikationsinstanz ist langsam. Konstruktionsbedingt kann eine einzelne AWS DMS-Aufgabe nicht die gesamte Netzwerkbandbreite nutzen. Wenn Sie eine ausgelastete Produktionsdatenbank haben, die viele Änderungen enthält, müssen Sie möglicherweise die Netzwerkbandbreite erhöhen. Verwenden Sie beispielsweise AWS Direct Connect-Verbindungen.

AWS DMS liest während der laufenden Replikation neue Änderungen aus den Transaktionsprotokollen der Quelldatenbank. Abhängig von Ihrer Quell-DB-Engine kann das Quelltransaktionsprotokoll auch Daten enthalten, die nicht übertragen wurden. Während der laufenden Replikation liest AWS DMS eingehende Änderungen aus den Transaktionsprotokollen. AWS DMS leitet jedoch nur festgelegte Änderungen an das Ziel weiter. Dies kann letztendlich zu einer Quelllatenz führen. Überwachen Sie die Metriken der Replikationsaufgabe für CDC und die detaillierte Debug-Protokollierung für die SOURCE\ _CAPTURE-Komponente, um zu überprüfen, ob die Aufgabe voranschreitet.

Wenn die Quelldatenbank jedoch einen großen Datensatz schreibt und weniger Commits ausführt, liest AWS DMS weiter aus dem Transaktionsprotokoll. AWS DMS nimmt keine Änderungen am Ziel vor, bis die gesamte Transaktion bestätigt wurde. Dies kann auch zu Quellenlatenz führen. Da die Quelllatenz steigt, steigt auch die Ziellatenz.

Die Aufgabeneinstellungen von AWS DMS sind unzureichend oder große Objekte (LOBs) werden migriert. AWS DMS migriert LOB-Daten für die fortlaufende Replikation in zwei Phasen. Zunächst erstellt AWS DMS eine neue Zeile in der Zieltabelle mit allen Spalten außer denen, die LOBs enthalten. Anschließend aktualisiert AWS DMS die Zeilen, die LOBs enthalten. Wenn Sie eine Quelldatenbank haben, die Tabellen mit LOB-Spalten häufig aktualisiert, kann es zu einer Quelllatenz kommen. Weitere Informationen finden Sie unter Migrieren großer binärer Objekte (LOBs).

Wenn die Aufgabe zu viele Tabellen enthält oder mehrere Tabellen LOB-Spalten enthalten, teilen Sie Ihre Aufgabe in mehrere Aufgaben auf. Wenn Sie über Tabellensätze verfügen, die nicht an allgemeinen Transaktionen beteiligt sind, teilen Sie Ihre Migration in mehrere Aufgaben auf. Dies kann zur Leistungssteigerung beitragen. Die Transaktionskonsistenz innerhalb einer Aufgabe wird gewahrt, daher ist es wichtig, dass Tabellen in separaten Aufgaben nicht an gemeinsamen Transaktionen teilnehmen. Außerdem liest jede Aufgabe unabhängig voneinander den Transaktionsstream, also belasten Sie die Quelldatenbank nicht zu sehr. Weitere Informationen finden Sie in den Best Practices für AWS Database Migration Service.

Die Oracle-Quelldatenbank, die für die AWS DMS-Aufgabe verwendet wird, verwendet LogMiner für die fortlaufende Replikation. Wenn Ihre Quelldatenbank eine große Anzahl von Redo-Protokolle generiert, verwenden Sie die binäre Lesemethode für die fortlaufende Replikation. Sie können diese Methode auch verwenden, wenn die Quelldatenbank Oracle Automatic Storage Management (ASM) verwendet. Weitere Informationen finden Sie unter Verwenden von Oracle LogMiner oder AWS DMS Binary Reader für CDC.


Verwandte Informationen

Verbesserung der Leistung einer AWS DMS-Migration

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren