Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione dei problemi di latenza della destinazione
In questa sezione sono illustrati gli scenari che possono contribuire alla latenza della destinazione.
Argomenti
Problemi di indicizzazione
Durante la fase CDC, AWS DMS replica le modifiche all'origine eseguendo istruzioni DML (inserimento, aggiornamento ed eliminazione) sulla destinazione. Per le migrazioni eterogenee che utilizzano DMS, le differenze nelle ottimizzazioni degli indici sull'origine e sulla destinazione possono far sì che le scritture sulla destinazione richiedano più tempo. Questo approccio comporta problemi di latenza e prestazioni della destinazione.
Per risolvere i problemi di indicizzazione, procedi come segue. Le procedure per questi passaggi variano a seconda dei diversi motori di database.
Monitora il tempo di query per il database di destinazione. Il confronto del tempo di esecuzione delle query sulla destinazione e sull'origine può indicare quali indici devono essere ottimizzati.
Abilita la registrazione per le query a esecuzione lenta.
Per risolvere i problemi di indicizzazione per le repliche di lunga durata, esegui queste operazioni:
Ottimizza gli indici sui database di origine e di destinazione in modo che il tempo di esecuzione delle query sia simile sull'origine e sulla destinazione.
Confronta gli indici secondari utilizzati nelle query DML per l'origine e la destinazione. Assicurati che le prestazioni DML sulla destinazione siano paragonabili o migliori delle prestazioni DML sull'origine.
Tieni presente che la procedura per l'ottimizzazione degli indici è specifica del motore di database in uso. Non è disponibile alcuna funzionalità DMS per l'ottimizzazione degli indici di origine e di destinazione.
Messaggio SORTER nel log delle attività
Se un endpoint di destinazione non riesce a tenere il passo con il volume di modifiche che vi AWS DMS scrive, l'operazione memorizza le modifiche nella cache dell'istanza di replica. Se la cache supera la soglia interna, l'attività interrompe la lettura di ulteriori modifiche dall'origine. DMS esegue questa operazione per evitare che l'istanza di replica esaurisca lo spazio di archiviazione o che l'attività si blocchi durante la lettura di un grande volume di eventi in sospeso.
Per risolvere questo problema, controlla la presenza di un messaggio simile a uno dei seguenti CloudWatch nei log:
[SORTER ]I: Reading from source is paused. Total disk usage exceeded the limit 90% (sorter_transaction.c:110) [SORTER ]I: Reading from source is paused. Total storage used by swap files exceeded the limit 1048576000 bytes (sorter_transaction.c:110)
Se i log contengono un messaggio simile al primo, disabilita qualsiasi registrazione di traccia per l'attività e aumenta lo spazio di archiviazione dell'istanza di replica. Per informazioni sull'aumento dello spazio di archiviazione delle istanze di replica, consulta Modifica di un'istanza di replica.
Se i log contengono un messaggio simile al secondo, esegui queste operazioni:
Sposta le tabelle con numerose transazioni o operazioni DML di lunga durata in un'attività separata, se non hanno alcuna dipendenza da altre tabelle dell'attività.
Aumenta le impostazioni
MemoryLimitTotal
eMemoryKeepTime
per mantenere la transazione in memoria per un periodo più lungo. Ciò non aiuta se la latenza è sostenuta, ma può contribuire a mantenere bassa la latenza durante brevi aumenti di volume transazionale. Per informazioni su queste impostazioni dell'attività, consulta Impostazioni di ottimizzazione dell'elaborazione delle modifiche.Valuta se puoi utilizzare l'applicazione in batch per la transazione impostando
BatchApplyEnabled
sutrue
. Per informazioni sull'impostazioneBatchApplyEnabled
, consulta Impostazioni delle attività dei metadati di destinazione.
Blocco del database
Se un'applicazione accede a un database utilizzato come destinazione di replica, l'applicazione può bloccare una tabella a cui DMS AWS DMS sta tentando di accedere. Questo crea un conflitto di blocco. Poiché DMS scrive le modifiche nel database di destinazione nell'ordine in cui sono state applicate nell'origine, il ritardo della scrittura in una tabella dovuti al conflitto di blocco creano ritardi della scrittura in tutte le tabelle.
Per risolvere questo problema, esegui una query sul database di destinazione per verificare se un conflitto di blocco sta bloccando le transazioni di scrittura DMS. Se il database di destinazione blocca le transazioni di scrittura DMS, esegui una o più delle operazioni riportate di seguito:
Ristruttura le query per eseguire il commit delle modifiche più frequentemente.
Modifica le impostazioni del timeout di blocco.
Partiziona le tabelle per ridurre al minimo i conflitti di blocco.
Tieni presente che la procedura per l'ottimizzazione dei conflitti di blocco è specifica del motore di database in uso. Non è disponibile alcuna funzionalità DMS per ottimizzare i conflitti di blocco.
Ricerche LOB lente
Quando AWS DMS replica una colonna di oggetti di grandi dimensioni (LOB), esegue una ricerca sull'origine appena prima di scrivere le modifiche alla destinazione. Questa ricerca normalmente non causa alcuna latenza sulla destinazione, ma se il database di origine ritarda la ricerca a causa del blocco, la latenza della destinazione potrebbe aumentare.
Questo problema è in genere difficile da diagnosticare. Per risolverlo, abilita il debug dettagliato nei log delle attività e confronta i timestamp delle chiamate di ricerca LOB DMS. Per informazioni su come abilitare il debug dettagliato, consulta Visualizzazione e gestione dei registri delle attività AWS DMS.
Per risolvere il problema, procedi come segue:
Migliora le prestazioni delle query SELECT sul database di origine.
Ottimizza le impostazioni LOB DMS. Per informazioni sull'ottimizzazione delle impostazioni LOB, consulta Migrazione di oggetti binari di grandi dimensioni () LOBs.
Multi-AZ: registrazione di audit e backup
Per le destinazione Amazon RDS, la latenza di destinazione può aumentare nelle seguenti situazioni:
Backup
Dopo aver abilitato più zone di disponibilità (multi-AZ)
Dopo aver abilitato la registrazione del database, ad esempio i log di audit o delle query lente.
Questi problemi sono in genere difficili da diagnosticare. Per risolverli, monitora la latenza per rilevare eventuali picchi periodici durante le finestre di manutenzione di Amazon RDS o i periodi di intenso carico del database.
Per risolvere questi problemi, prova a eseguire queste operazioni:
Se possibile, durante la migrazione a breve termine, disabilita le multi-AZ, i backup o la registrazione.
Riprogramma le finestre di manutenzione in periodi di scarsa attività.