Seleção do melhor tamanho para uma instância de replicação - AWS Database Migration Service

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á.

Seleção do melhor tamanho para uma instância de replicação

A escolha da instância de replicação adequada depende de vários fatores do seu caso de uso. Para ajudar a entender como os recursos da instância de replicação são utilizados, consulte a discussão a seguir. Ele abrange o cenário comum de uma CDC tarefa com carga total +.

Durante uma tarefa de carga total, AWS DMS carrega as tabelas individualmente. Por padrão, oito tabelas são carregadas por vez. AWS DMS captura as alterações contínuas na origem durante uma tarefa de carga total para que as alterações possam ser aplicadas posteriormente no endpoint de destino. As alterações são armazenados em cache na memória; se a memória disponível for esgotada, as alterações são armazenadas em cache no disco. Quando uma tarefa de carga completa é concluída para uma tabela, AWS DMS aplica imediatamente as alterações em cache à tabela de destino.

Depois que todas as alterações em cache pendentes para uma tabela forem aplicadas, o endpoint de destino está em um estado transacionalmente consistente. Nesse momento, o destino está em sincronia com o endpoint de origem em relação às últimas alterações em cache. AWS DMS em seguida, inicia a replicação contínua entre a origem e o destino. Para fazer isso, AWS DMS pega as operações de alteração dos registros de transações de origem e as aplica ao destino de maneira transacionalmente consistente. (Esse processo pressupõe que a aplicação otimizada em lote não esteja selecionada). AWS DMS transmite as alterações contínuas pela memória na instância de replicação, se possível. Caso contrário, AWS DMS grava as alterações em disco na instância de replicação até que elas possam ser aplicadas no destino.

Você tem algum controle sobre como a instância de replicação manipula o processamento de alterações e como a memória é usada nesse processo. Para obter mais informações sobre como ajustar o processamento de alterações, consulte Configurações de ajuste de processamento de alterações.

Fatores a serem considerados

Memória e espaço em disco são fatores-chave na seleção de uma instância de replicação apropriada para o seu caso de uso. Veja uma discussão a seguir sobre as características do caso de uso a serem analisadas para escolher uma instância de replicação.

  • Tamanho do banco de dados e das tabelas

    O volume de dados ajuda a determinar a configuração da tarefa para otimizar o desempenho da carga máxima. Por exemplo, para dois esquemas de 1 TB, é possível particionar tabelas em quatro tarefas de 500 GB e executá-las em paralelo. O possível paralelismo depende do CPU recurso disponível na instância de replicação. Por isso, é uma boa ideia compreender o tamanho do banco de dados e das tabelas para otimizar o desempenho da carga máxima. Isso ajuda a determinar o número de tarefas possíveis que você pode ter.

  • Objetos grandes

    Os tipos de dados presentes no escopo da migração podem afetar o desempenho. Particularmente, objetos grandes (LOBs) afetam o desempenho e o consumo de memória. Para migrar um LOB valor, AWS DMS executa um processo de duas etapas. Primeiro, AWS DMS insere a linha no destino sem o LOB valor. Em segundo lugar, AWS DMS atualiza a linha com o LOB valor. Isso tem um impacto na memória, por isso é importante identificar LOB as colunas na fonte e analisar seu tamanho.

  • Frequência da carga e tamanho das transações

    A frequência de carregamento e as transações por segundo (TPS) influenciam o uso da memória. Um grande número de atividades TPS ou de linguagem de manipulação de dados (DML) leva a um alto uso de memória. Isso acontece porque DMS armazena as alterações em cache até que elas sejam aplicadas ao destino. Durante issoCDC, isso leva à troca (gravação no disco físico devido ao estouro de memória), o que causa latência.

  • Chaves de tabelas e integridade referencial

    As informações sobre as chaves da tabela determinam o CDC modo (aplicação em lote ou aplicação transacional) que você usa para migrar dados. Em geral, a aplicação transacional é mais lenta do que a aplicação em lote. Para transações de longa execução, pode haver muitas mudanças na migração. Quando você usa a aplicação transacional, AWS DMS pode exigir mais memória para armazenar as alterações em comparação com a aplicação em lote. Se você migrar tabelas sem chaves primárias, a aplicação em lote falhará e a DMS tarefa será movida para o modo de aplicação transacional. Quando a integridade referencial está ativa entre as tabelas duranteCDC, AWS DMS usa aplicação transacional por padrão. Para obter mais informações sobre a aplicação em lote em comparação com a aplicação transacional, consulte Como posso usar o recurso de aplicação DMS em lote para melhorar o desempenho da CDC replicação? .

Use essas métricas para determinar se é necessário que a instância de replicação seja otimizada para computação ou para memória.

Problemas comuns

É possível enfrentar os seguintes problemas comuns que causam contenção de recursos na instância de replicação durante a migração. Para obter informações sobre as métricas instância de replicação, consulte Métricas de instâncias de replicação.

  • Se a memória em uma instância de replicação se tornar insuficiente, isso resultará na gravação dos dados no disco. A leitura de disco pode causar latência, o que pode ser evitado com o dimensionamento da instância de replicação com memória suficiente.

  • O tamanho do disco atribuído à instância de replicação pode ser menor do que o necessário. O tamanho do disco é utilizado quando os dados na memória transbordam. Ele também é utilizado para armazenar os logs de tarefas. O máximo também IOPS depende disso.

  • A execução de várias tarefas ou tarefas com alto paralelismo afeta o CPU consumo da instância de replicação. Isso retarda o processamento das tarefas e resulta em latência.

Práticas recomendadas

Considere estas duas práticas recomendadas mais comuns ao dimensionar uma instância de replicação. Para obter mais informações, consulte Práticas recomendadas do AWS Database Migration Service.

  1. Dimensione a workload e compreenda se ela tem consumo intensivo de computação ou de memória. Com base nisso, é possível determinar a classe e o tamanho da instância de replicação:

    • AWS DMS processos LOBs na memória. Essa operação requer uma boa quantidade de memória.

    • O número de tarefas e o número de threads afetam o CPU consumo. Evite utilizar mais de oito MaxFullLoadSubTasks durante a operação de carga máxima.

  2. Aumente o espaço em disco atribuído à instância de replicação quando tiver uma workload alta durante a carga máxima. Isso permite que a instância de replicação use o máximo IOPS atribuído a ela.

As orientações anteriores não abrangem todos os cenários possíveis. É importante considerar os detalhes do seu caso de uso específico ao determinar o tamanho da instância de replicação.

Os testes anteriores mostram que a memória varia CPU de acordo com as diferentes cargas de trabalho. Particularmente, LOBs afetam a memória, e a contagem de tarefas ou o paralelismo afetam o. CPU Depois que a migração estiver em execução, monitore a CPU memória liberável, o armazenamento gratuito e a IOPS instância de replicação. Com base nos dados coletados, é possível dimensionar a instância de replicação para cima ou para baixo, conforme necessário.