Ir para o conteúdo

Como faço para solucionar o erro "Last Error Replication task out of memory" do AWS DMS?

3 minuto de leitura
0

Quero resolver o erro "Last Error Replication task out of memory" que recebo quando executo uma tarefa de replicação do AWS Database Migration Service (AWS DMS).

Resolução

Identifique a causa do erro

Para identificar a causa do erro "Last Error Replication task out of memory", analise os logs de tarefas do AWS DMS.

Para resolver esse erro, conclua a resolução que melhor se adequa ao seu problema.

Antes de fazer modificações, você deve interromper sua tarefa. Depois de fazer as modificações, retome a tarefa. Se a tarefa for interrompida durante a fase de carga total, as tabelas que estiverem em andamento serão recarregadas do zero.

Altere as configurações da tarefa ou os parâmetros relacionados à memória

Modifique as seguintes configurações de tarefa ou parâmetros relacionados à memória que exigem maior capacidade de memória:

  • Configurações de objetos binários grandes (large binary object, LOB)
  • Parâmetros de validação, como ThreadCount e PartitionSize
  • Parâmetros de thread paralelos, como ParallelLoadThreads, ParallelLoadBufferSize, ParallelLoadQueuesPerThread, ParallelApplyThreads, ParallelApplyBufferSize e ParallelApplyQueuesPerThread
  • Parâmetros de aplicação em lote, como BatchApplyTimeoutMin, BatchApplyTimeoutMax, BatchApplyMemoryLimit e BatchSplitSize
  • Outras configurações de tarefa relacionadas à memória, como MinTransactionSize, MemoryLimitTotal, MemoryKeepTime e StatementCacheSize

Para obter mais informações sobre as configurações e parâmetros de tarefas anteriores, consulte Como faço para otimizar o uso de memória do AWS DMS para migração?

Aumente sua classe de instância de replicação com base nas métricas do CloudWatch

Verifique as métricas do Amazon CloudWatch FreeableMemory e SwapUsage da instância de replicação. Se FreeableMemory diminuir ou SwapUsage aumentar ou flutuar, aumente o tamanho da sua instância de replicação.

Também é possível usar instâncias otimizadas para memória em workloads com uso intensivo de memória, como migrações e replicações contínuas de transações de alto throughput.

Divida uma única tarefa em várias tarefas com base no tamanho dos dados que são migrados e na quantidade de memória necessária

Se a instância de replicação tiver várias tarefas, é possível usar a métrica MemoryUsage para verificar a quantidade de memória que a tarefa consome. Para descobrir por que a tarefa retém memória na fase de captura de dados de alteração (change data capture, CDC), compare CDCChangesMemorySource e CDCChangesMemoryTarget. Solucione o problema do endpoint respectivo.

Quando várias tarefas estiverem em execução na instância de replicação, realize uma ou mais das seguintes ações:

  • Reduza o número e o tipo de tarefas que estão sendo executadas na instância de replicação.
  • Mova a tarefa com falha para uma instância de replicação diferente e tente novamente.
  • Aumente o tamanho da sua instância de replicação.

Para tarefas que têm várias tabelas carregadas em paralelo ou que migram várias tabelas e esquemas, realize uma ou mais das seguintes ações:

  • Reduza o número de tabelas que você carrega em paralelo.
  • Reduza o número total de tabelas e esquemas que você migra.
  • Use uma tarefa diferente em uma instância de replicação diferente para descarregar a migração de algumas das tabelas e esquemas.
  • Aumente o tamanho da sua instância de replicação.

Informações relacionadas

Configurações de tarefa de metadados de destino

Configurações de ajuste de processamento de alterações

Modificar uma instância de replicação

Sem comentários