Como soluciono problemas de alta latência de origem em uma tarefa do AWS DMS?

5 minuto de leitura
0

Estou observando uma alta latência de origem em minha tarefa do AWS Database Migration Service (AWS DMS). O que causa a latência de origem durante a migração?

Breve descrição

Você pode monitorar sua tarefa do AWS DMS usando métricas do Amazon CloudWatch. Durante a migração, talvez você veja a latência de origem durante a fase de replicação contínua, ou seja, na captura de dados de alteração, de uma tarefa do AWS DMS. Você pode usar a métrica do serviço CloudWatch para CDCLatencySource a fim de monitorar a latência de origem de uma tarefa do AWS DMS. Talvez você veja a latência de origem em uma tarefa do AWS DMS se:

  • O banco de dados de origem tem recursos limitados.
  • A instância de replicação do AWS DMS tem recursos limitados.
  • A velocidade da rede entre o banco de dados de origem e a instância de replicação do AWS DMS é lenta.
  • O AWS DMS lê novas alterações dos logs de transações do banco de dados de origem durante a replicação contínua.
  • As configurações de tarefas do AWS DMS são inadequadas ou objetos grandes (LOBs) estão sendo migrados.
  • O banco de dados Oracle de origem usado para a tarefa do AWS DMS está usando o LogMiner para a replicação contínua.

Resolução

O banco de dados de origem tem recursos limitados. É uma prática recomendada usar o monitoramento nativo para seu mecanismo de banco de dados de origem. O uso do monitoramento nativo garante que seu banco de dados não esteja enfrentando um gargalo de desempenho, como a contenção de memória ou saturação de E/S.

A instância de replicação do AWS DMS tem recursos limitados. Monitore as métricas da instância de replicação, como CPUUtilization, FreeStorageSpace e FreeableMemory. Confirme se a instância de replicação tem recursos suficientes para gerenciar sua tarefa.

A velocidade da rede entre o banco de dados de origem e a instância de replicação do AWS DMS é lenta. Por design, uma única tarefa do AWS DMS não pode usar toda a largura de banda da rede. Se você tem um banco de dados de produção ocupado com muitas alterações, talvez seja necessário aumentar a largura de banda da rede. Por exemplo, usar conexões do AWS Direct Connect.

O AWS DMS lê novas alterações dos logs de transações do banco de dados de origem durante a replicação contínua. Dependendo do seu mecanismo de banco de dados de origem, o log de transações de origem também pode ter dados não confirmados. Durante a replicação contínua, o AWS DMS lê as alterações recebidas dos logs de transações. Mas o AWS DMS encaminha apenas as mudanças confirmadas para o destino. Eventualmente, isso pode causar latência na origem. Monitore as métricas da tarefa de replicação da CDC e os logs de depuração detalhados do componente SOURCE_CAPTURE para confirmar se a tarefa está avançando.

No entanto, quando o banco de dados de origem grava um conjunto de dados grande e executa menos confirmações, o AWS DMS continua lendo o log de transações. O AWS DMS não aplica alterações no destino até que toda a transação seja confirmada. Isso também pode causar latência na origem. Como a latência da origem aumenta, a latência do destino também aumenta.

As configurações de tarefas do AWS DMS são inadequadas ou objetos grandes (LOBs) estão sendo migrados. O AWS DMS migra dados de LOBs para replicação contínua em duas fases. Primeiro, o AWS DMS cria uma nova linha na tabela de destino com todas as colunas, exceto aquelas que têm LOBs. Em seguida, o AWS DMS atualiza as linhas que têm LOBs. Se você tiver um banco de dados de origem que frequentemente atualiza tabelas que têm colunas com LOBs, talvez tenha latência na origem. Para mais informações, consulte Como migrar objetos binários grandes (LOBs).

Se a tarefa tiver muitas tabelas ou várias tabelas contiverem colunas com LOBs, divida a tarefa em várias. Se você tiver conjuntos de tabelas que não participam de transações comuns, divida a migração em várias tarefas. Isso pode ajudar a melhorar o desempenho. A consistência transacional é mantida em uma tarefa, por isso é importante que tabelas de tarefas separadas não participem de transações comuns. Além disso, cada tarefa lê o fluxo de transações de maneira independente. Portanto, não coloque muita pressão no banco de dados de origem. Para mais informações, consulte Práticas recomendadas do AWS Database Migration Service.

O banco de dados Oracle de origem usado para a tarefa do AWS DMS está usando o LogMiner para a replicação contínua. Se o banco de dados de origem gerar um grande número de redo logs, use o método do leitor binário para a replicação contínua. Você também pode usar esse método se o banco de dados de origem estiver usando o Oracle Automatic Storage Management (ASM). Para mais informações, consulte Como usar o Oracle LogMiner ou o Binary Reader do AWS DMS para CDC.


Informações relacionadas

Como melhorar o desempenho de uma migração do AWS DMS

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos