As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Esta seção contém cenários que podem contribuir para a latência no destino.
Tópicos
Indexação de problemas
Durante a fase de CDC, o AWS DMS replica as alterações na origem executando instruções DML (inserir, atualizar e excluir) no destino. Para migrações heterogêneas utilizando o DMS, as diferenças nas otimizações de índice na origem e no destino podem fazer com que as gravações no destino demorem mais. Isso resulta em problemas de latência e de desempenho.
Para solucionar esses problemas, faça o seguinte: Os procedimentos para essas etapas variam para diferentes mecanismos de banco de dados.
Monitore o tempo de consulta do banco de dados de destino. A comparação do tempo de execução da consulta no destino e na origem pode indicar quais índices precisam ser otimizados.
Ative o registro em log de consultas de execução lenta.
Para corrigir problemas de indexação de replicações de execução prolongada, faça o seguinte:
Ajuste os índices nos bancos de dados de origem e de destino para que o tempo de execução da consulta seja semelhante na origem e no destino.
Compare os índices secundários utilizados nas consultas DML para a origem e o destino. Verifique se o desempenho do DML no destino é comparável ou melhor do que o desempenho do DML na origem.
Observe que o procedimento de otimização de índices é específico para o mecanismo de banco de dados. Não há nenhum recurso do DMS para ajustar os índices de origem e de destino.
Mensagem de SORTER no log de tarefas
Se um endpoint de destino não puder acompanhar o volume de alterações que o AWS DMS grava nele, a tarefa armazena as alterações em cache na instância de replicação. Se o cache aumentar mais do que um limite interno, a tarefa interromperá as leituras de outras alterações na origem. O DMS faz isso para evitar que a instância de replicação fique sem armazenamento ou que a tarefa fique paralisada durante a leitura de um grande volume de eventos pendentes.
Para solucionar esse problema, verifique os logs do CloudWatch para conferir se há uma mensagem semelhante a uma das seguintes:
[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 os logs contiverem uma mensagem semelhante à primeira mensagem, desative qualquer registro em log de rastreamento da tarefa e aumente o armazenamento da instância de replicação. Para obter informações sobre como aumentar o armazenamento de instâncias de replicação, consulte Modificar uma instância de replicação.
Caso os logs contenham uma mensagem semelhante à segunda, faça o seguinte:
Mova as tabelas com várias transações ou operações DML de execução prolongada para uma tarefa separada, caso elas não tenham nenhuma dependência de outras tabelas na tarefa.
Aumente as configurações de
MemoryLimitTotal
e deMemoryKeepTime
para manter a transação por mais tempo na memória. Isso não ajudará se a latência for sustentada, mas poderá ajudar a manter a latência baixa durante intermitências curtas do volume transacional. Para obter informações sobre as configurações dessas tarefas, consulte Configurações de ajuste de processamento de alterações.Avalie se é possível utilizar a aplicação em lote à transação definindo
BatchApplyEnabled
comotrue
. Para obter mais informações sobre a configuração deBatchApplyEnabled
, consulte Configurações de tarefa de metadados de destino.
Bloqueio de banco de dados
Se uma aplicação acessar um banco de dados que o AWS DMS está utilizando como destino da replicação, a aplicação poderá bloquear uma tabela que o DMS está tentando acessar. Isso cria uma contenção de bloqueio. Como o DMS grava as alterações no banco de dados de destino na ordem em que elas ocorreram na origem, atrasos na gravação em uma tabela devido a contenções de bloqueio criam atrasos na gravação em todas as tabelas.
Para solucionar esse problema, consulte o banco de dados de destino para verificar se uma contenção de bloqueio está bloqueando as transações de gravação do DMS. Se o banco de dados de destino estiver bloqueando transações de gravação do DMS, execute um ou mais dos seguintes procedimentos:
Reestruture as consultas para confirmar as alterações com mais frequência.
Modifique as configurações de tempo limite de bloqueio.
Particione as tabelas para minimizar as contenções de bloqueio.
Observe que o procedimento de otimização de contenções de bloqueio é específico para o mecanismo de banco de dados. Não há nenhum recurso do DMS para ajustar as contenções de bloqueio.
Pesquisas de LOB lentas
Quando o AWS DMS replica uma coluna de objeto grande (LOB), ele executa uma pesquisa na origem antes de gravar as alterações no destino. Essa pesquisa normalmente não causa nenhuma latência no destino, mas se o banco de dados de origem atrasar a pesquisa devido ao bloqueio, a latência de destino poderá aumentar.
Normalmente, esse problema é difícil de diagnosticar. Para solucionar esse problema, ative a depuração detalhada nos logs de tarefas e compare os timestamps das chamadas de pesquisa de LOB do DMS. Para obter informações sobre como ativar o log de depuração detalhado, consulte Visualizar e gerenciar logs de tarefas do AWS DMS.
Para solucionar esse problema, tente o seguinte:
Melhore o desempenho da consulta SELECT no banco de dados de origem.
Ajuste as configurações de LOB do DMS. Para obter mais informações sobre como ajustar as configurações de LOB, consulte Migração de objetos binários grandes (LOBs).
Multi-AZ, registro em log e backups de auditoria
Para destinos do Amazon RDS, a latência do destino pode aumentar durante o seguinte:
Backups
Depois de ativar várias zonas de disponibilidade (multi-AZ)
Depois de ativar o registro em log do banco de dados, como logs de auditoria ou de consultas lentas.
Normalmente, esses problemas são difíceis de diagnosticar. Para solucionar esses problemas, monitore a latência em busca de picos periódicos durante as janelas de manutenção do Amazon RDS ou períodos de carga pesada do banco de dados.
Para solucionar esses problemas, tente o seguinte:
Se possível, durante a migração de curto prazo, desative o multi-AZ, os backups ou o registro em log.
Reprograme as janelas de manutenção para períodos de baixa atividade.