Come faccio a risolvere i problemi di latenza elevata su un'attività di AWS DMS?

4 minuti di lettura
0

Sto eseguendo un'attività a pieno carico e modifica dei dati (CDC) di AWS Database Migration Service (AWS DMS). La latenza di origine non è elevata, ma la latenza di destinazione è elevata o è in aumento.

Breve descrizione

Usa i parametri di Amazon CloudWatch per monitorare le metriche della tua attività di replica. Per identificare la latenza di replica nella fase di replica in corso, monitora CDCLatencySource e CDCLatencyTarget. La metrica CDCLatencySource è la latenza tra l'origine e l'istanza di replica. La metrica CDCLatencyTarget è la latenza tra l'istanza di replica e la destinazione. Per ulteriori informazioni, consulta Metriche delle attività di replica.

Un'alta CDCLatencySource significa che il processo di acquisizione delle modifiche dalla fonte è ritardato. Un'alta CDCLatencyTarget significa che il processo di applicazione degli eventi di modifica al target è ritardato. Se sia CDCLatencySource e CDCLatencyTarget sono elevate, risolvi prima CDCLatencySource, poiché la latenza di destinazione è sempre uguale o maggiore della latenza di origine. Un'alta CDCLatencyTarget è molto probabilmente dovuta al ritardo nell'acquisizione degli eventi di modifica dalla fonte. Se CDCLatencySource non è elevata ma lo è CDCLatencyTarget, la latenza potrebbe essere causata dai seguenti problemi:

  • Non ci sono chiavi o indici primari nella destinazione.
  • Ci sono problemi di risorse nell'obiettivo.
  • Vi sono problemi di risorse nell'istanza di replica.
  • C'è un problema di rete tra l'istanza di replica e la destinazione.

Per risolvere questi problemi, consulta la sezione Procedure ottimali e risoluzione dei problemi nella seguente Risoluzione.

Risoluzione

Nessuna chiave o indice primario nella destinazione

Per impostazione predefinita, AWS DMS utilizza le istruzioni del linguaggio di manipolazione dei dati (DML) per scrivere le modifiche al target, come INSERT, UPDATE o DELETE. Se non ci sono gli indici necessari, le modifiche come aggiornamenti ed eliminazioni possono causare scansioni complete della tabella. Le scansioni complete della tabella possono causare problemi di prestazioni sul bersaglio e determinare una latenza di destinazione. Controlla gli schemi del database di destinazione, soprattutto se lo schema di destinazione è stato creato manualmente. Utilizza i meccanismi del database di destinazione per identificare le query lente, come il log delle query lente per MySQL, pg_stat_activity per Amazon Relational Database Service (Amazon RDS) per PostgreSQL o un piano di query. Se il tuo obiettivo è Amazon Redshift, allora controlla anche lo stile di distribuzione della tabella. Poiché gli stili di distribuzione richiedono più tempo per inserire o aggiornare i dati nelle tabelle, possono tutti causare la latenza di destinazione.

Limiti di risorse nell'obiettivo

Se il target non dispone di risorse sufficienti, non può accettare modifiche alla velocità con cui AWS DMS le invia. Ciò può causare rallentamenti nelle risorse e nella latenza del target. Questo accade anche se altri processi consumano risorse nell'obiettivo. Se la destinazione è ospitata su AWS, controlla le statistiche delle risorse nei parametri di CloudWatch.

Limiti delle risorse nell'istanza di replica

Scegli un'istanza di replica con risorse sufficienti per gestire la migrazione: CPU, memoria, rete o IOPS.

Usa i parametri di CloudWatch per monitorare le risorse delle tue istanze di replica.

Problema di rete tra istanza di replica e destinazione

Anche i problemi di larghezza di banda possono causare problemi di latenza, soprattutto quando l'obiettivo è un database locale o se utilizzi AWS DMS per la replica tra regioni AWS.

Procedure ottimali e risoluzione dei problemi

Se il tuo obiettivo è Amazon RDS, segui le procedure ottimali per migliorare le prestazioni di una migrazione AWS DMS. Amazon RDS dispone di un meccanismo di backup automatico che inizia all'interno della finestra di backup e Amazon RDS esegue il backup dei dati spostati. Se nella fase di acquisizione è in corso un'istantanea dell'istanza database RDS di destinazione, AWS DMS può riscontrare problemi durante l'applicazione di modifiche alla destinazione. Di conseguenza, la latenza di destinazione aumenta fino al completamento dell'acquisizione dell'istantanea. Se il tuo obiettivo è Amazon Elastic Compute Cloud (Amazon EC2) o un database locale, controlla quindi il meccanismo di backup del database di destinazione.

Alcune impostazioni delle attività fanno sì che le modifiche vengano scritte lentamente nella destinazione. Se esegui una replica continua da un'origine in cui il tasso di modifica è elevato, utilizza BatchApplyEnabled. Per ulteriori informazioni, consulta la sezione BatchApplyEnabled di Debug delle migrazioni AWS DMS: cosa fare quando qualcosa va storto? Parte 3

Per impostare BatchApplyEnabled su True, utilizza l'interfaccia della linea di comando AWS (AWS CLI) per eseguire il comando modify-replication-task:

aws dms modify-replication-task --replication-task-arn arn:aws:dms:ap-northeast-1:123456789012:task:ABCDEFGHIJKLMNOPQRSTUVWXYZ --replication-task-settings "{\"TargetMetadata\":{\"BatchApplyEnabled\":true}}"

Nota: se ricevi errori quando esegui i comandi dell'interfaccia della linea di comando AWS, consulta Risolvere gli errori AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Informazioni correlate

Modifica delle impostazioni di ottimizzazione dell'elaborazione

AWS UFFICIALE
AWS UFFICIALEAggiornata 7 mesi fa