Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ /

Configurar o auto-scaling

Nesta página

  • Como o Atlas dimensiona a camada de cluster
  • Aumentando uma camada do cluster
  • Reduzindo uma camada do cluster
  • Dimensionando um cluster fragmentado
  • Como o Atlas dimensiona o armazenamento do cluster
  • A camada do cluster e o armazenamento em cluster podem ser dimensionados em paralelo
  • Considerações de oplog
  • Configurar opções de auto-scaling
  • Auto-scaling habilitado por padrão
  • Revise as opções de escalonamento automático da camada de cluster
  • Desativar a camada do cluster e o auto-scaling de armazenamento
  • Reconhecer eventos de auto-scaling

Observação

Disponibilidade de funcionalidades

O Atlas habilita o cluster auto-scaling para todas as camadas do cluster (exceto a camada do cluster mais alta) nos clusters de nível General e Low-CPU.

Você pode configurar as faixas das camadas do cluster que o Atlas usa para dimensionar automaticamente sua camada do cluster, a capacidade de armazenamento ou ambos em resposta ao uso do cluster.

O auto-scaling de cluster elimina a necessidade de escrever scripts ou usar serviços de consultoria para tomar decisões de escalonamento. Para ajudar a controlar os custos, você pode especificar um intervalo de tamanhos máximos e mínimos de cluster para os quais seu cluster pode escalar automaticamente.

O auto-scaling funciona de forma contínua, o que significa que o processo não gera nenhum tempo de inatividade.

O Atlas analisa as seguintes métricas de cluster para determinar quando dimensionar um cluster e se a camada de cluster deve ser dimensionada para cima ou para baixo:

  • Utilização da CPU

  • Utilização da memória

O Atlas calcula a utilização da memória com base na memória disponível e na memória total da seguinte forma:

(memoryTotal - (memoryFree + memoryBuffers + memoryCached)) / (memoryTotal) * 100

No cálculo anterior, memoryFree, memoryBufferse memoryCached são quantidades de memória disponível que o Atlas pode recuperar para outros fins. Para saber mais, consulte System Memory em Analisar métricas disponíveis.

O Atlas não escalará a camada do cluster se alguma das seguintes situações for verdadeira:

  • A nova camada do cluster ficaria fora da faixa Minimum e Maximum Cluster Size especificada.

  • A utilização da memória excederia a memória disponível para a nova camada do cluster.

O Atlas dimensiona seu cluster para outro nível na mesma classe. Por exemplo, o Atlas dimensiona clusters General para outras camadas do cluster General , mas não dimensiona clusters General para Low-CPU camadas do cluster.

Os critérios exatos de auto-scaling estão sujeitos a alterações para garantir a utilização adequada dos recursos do cluster.

Importante

Durante uma migração, se você restaurar um snapshot com um tamanho maior que a capacidade de armazenamento do cluster de destino, o cluster não será dimensionado automaticamente.

Observação

Disponibilidade de nível

O dimensionamento automático funciona em General e nível do cluster Low-CPU, mas não em nível do cluster Local NVMe SSD.

Se a próxima camada mais alta do cluster estiver dentro da sua faixa Maximum Cluster Size, o Atlas dimensionará o cluster para o próximo nível se um dos critérios a seguir for verdadeiro para qualquer nó do cluster:

  • O Average CPU Utilization excedeu 75% dos recursos disponíveis na última hora. O limite de 75% é relativo aos recursos aos quais a camada do cluster tem acesso.

  • O Memory Utilization excedeu 75% dos recursos disponíveis na última hora. O limite de 75% é relativo aos recursos aos quais a camada do cluster tem acesso.

O Atlas dimensiona um cluster para o próximo nível quando o cluster não foi dimensionado na última hora.

Importante

Picos de carga de trabalho súbita

O dimensionamento para uma camada de cluster maior requer tempo suficiente para preparar recursos de apoio. O dimensionamento automático pode não ocorrer quando um cluster recebe uma explosão de atividade, como uma inserção em massa. Para reduzir o risco de ficar sem recursos, planeje aumentar os clusters antes de inserções em massa e outros picos de volume de trabalho.

Se a próxima camada de cluster mais baixa estiver dentro da faixa de Minimum Cluster Size , o Atlas dimensionará o cluster para o próximo nível mais baixo se ambos os critérios a seguir forem verdadeiros para todos os nós do cluster:

  • A média de CPU Utilization e Memory Utilization nas últimas 24 horas está abaixo de 50%. O limite de 50% é relativo aos recursos aos quais a camada do cluster tem acesso.

  • O cluster não foi reduzido (manual ou automaticamente) nas últimas 24 horas.

Observação

M10 e os clusters M20 usam limites mais baixos para contabilizar os limites de uso da CPU que os provedores de nuvem definem após os períodos de intermitência. Esses limites variam dependendo do seu provedor de nuvem e da camada de cluster.

Para saber mais sobre o comportamento de dimensionamento automático descendente, consulte Considerações sobre o dimensionamento automático descendente da camada e do armazenamento de cluster.

  • Quando o Atlas reduz a capacidade de armazenamento do seu cluster, isso pode levar mais tempo do que expandir a capacidade de armazenamento devido à mecânica do processo de dimensionamento.

  • Quando o Atlas reduz seu cluster para uma camada do cluster inferior, ele utiliza o valor no Minimum Cluster Size. Estime a faixa de volume de trabalho do seu sistema e, em seguida, defina o valor Minimum Cluster Size para a camada do cluster que tem capacidade suficiente para lidar com o volume de trabalho do seu sistema. Considere quaisquer possíveis picos ou quedas na atividade do cluster.

  • Não é possível escalar para um cluster menor que M10.

  • Não é possível selecionar uma camada mínima de cluster que esteja abaixo da configuração de disco atual do seu cluster. Se o armazenamento aumentar além do que é suportado pela camada mínima de cluster, o Atlas ajustará automaticamente a camada mínima de cluster para um nível que ofereça suporte aos requisitos atuais de armazenamento do cluster.

    Exemplo

    Você definiu seus limites de dimensionamento como M20-M60 e sua camada de cluster atual é M40. O Atlas aciona um evento de escalonamento automático descendente porque a média de CPU Utilization e Memory Utilization em seu cluster atual esteve abaixo de 50% nas últimas 24 horas.

    1. O Atlas tenta dimensionar automaticamente seu cluster para M30. M30 suporta sua configuração de disco atual, portanto, a operação de escalonamento automático é bem-sucedida.

    2. O Atlas determina que M20 é o nível de cluster mais baixo que pode suportar sua configuração de disco atual e define seu nível de cluster mínimo como M20.

O Atlas dimensiona automaticamente a camada de cluster para clusters fragmentados usando os mesmos critérios dos conjuntos de réplicas. O Atlas aplica as seguintes regras:

  • O auto-scaling se aplica a todos os shards no cluster fragmentado. Não é possível aplicar o auto-scaling para alguns shards e não para outros no mesmo cluster.

  • Se algum shard atender aos critérios para auto-scale em sua camada do cluster, todos os shards aumentarão sua camada do cluster.

  • Todos os shards no cluster devem atender aos critérios antes que o Atlas escalone automaticamente a camada do cluster.

  • O conjunto de réplicas do servidor de configuração não executa auto-scale.

O Atlas permite o dimensionamento automático de armazenamento de cluster por padrão. Para clusters com nós analíticos, se você selecionar uma classificação do cluster diferente, como General ou Low-CPU, para o Base Tier e o Analytics Tier, o Atlas desabilitará o dimensionamento automático de disco com a seguinte mensagem de erro:

Disk auto-scaling is not yet available for clusters with mixed instance classes.

O Atlas aumenta automaticamente o armazenamento do cluster quando o espaço em disco usado atinge 90% para qualquer nó do cluster.

Importante

Atividade de escrita de alta velocidade

Aumentar a capacidade de armazenamento requer tempo suficiente para preparar e copiar dados para novos discos. O dimensionamento automático pode não ocorrer quando um cluster recebe uma explosão de atividade de gravação de alta velocidade, como uma inserção em massa. Para reduzir o risco de ficar sem armazenamento em disco, os gerentes de cluster devem planejar a expansão dos clusters antes de inserções em massa e outras instâncias de atividade de gravação em alta velocidade.

O comportamento de dimensionamento difere de acordo com o provedor de nuvem:

Importante

O Atlas aumenta automaticamente o armazenamento do cluster e nunca reduz automaticamente o armazenamento do cluster. Você pode reduzir manualmente o armazenamento de cluster na página Editar Cluster .

Quando o Atlas tenta dimensionar automaticamente a capacidade de armazenamento do cluster, pode ser necessário dimensionar o armazenamento fora dos limites suportados pela camada de cluster atual. Para ajudar a garantir que seu cluster não sofra nenhum tempo de inatividade, o Atlas dimensionará sua camada de cluster (além do armazenamento do cluster) para acomodar a nova capacidade de armazenamento.

No Azure, se você habilitar o autoscaling em um cluster implantado em uma das regiões que permitem armazenamento estendido e o IOPS atual for menor que o IOPS padrão para o tamanho do disco com auto-scaling, o Atlas aumentará o número alocado de IOPS no controle deslizante IOPS e notifica você na interface do usuário. Para saber mais, consulte Estender Capacidade de Armazenamento e IOPS no Azure.

Exemplo

A capacidade de armazenamento máxima para um cluster do M30 é 480 GB. Se você tiver um cluster M30 com o armazenamento máximo alocado e o espaço em disco usado atingir 90%, um evento de dimensionamento automático de armazenamento exigirá o aumento da capacidade de armazenamento para 600 GB. Nesse caso, o Atlas dimensiona sua camada do cluster para M40 porque essa é a camada do cluster mais baixa que pode permitir a nova capacidade de armazenamento necessária. No Azure, se você distribuiu o cluster em uma das regiões que aceitam armazenamento estendido, o Atlas também aumentará automaticamente o IOPS para corresponder ao nível de IOPS do cluster dessa camada.

Caso o nível máximo de cluster especificado não possa suportar a nova capacidade de armazenamento, o Atlas:

  1. Eleva o nível máximo do cluster para o próximo nível mais baixo que pode acomodar a nova capacidade de armazenamento.

  2. Dimensiona a camada do cluster para esse novo nível máximo.

Observação

Quando o Atlas substitui o nível máximo do cluster, ele também desativa a redução automática do cluster. Para reativar o dimensionamento automático descendente, configure-o em Configurações do cluster. Consulte também Considerações sobre o dimensionamento automático descendente de camada de cluster e armazenamento.

Se o Atlas tentar reduzir a camada do cluster e a camada de destino não for compatível com a capacidade atual do disco, o IOPS provisionado, ou ambos, o Atlas não reduzirá o cluster. Nesse cenário, o Atlas atualiza suas configurações de auto-scaling com base no relacionamento entre sua camada do cluster atual e a camada do cluster máxima configurada:

  • Se o cluster estiver atualmente na camada máxima de cluster configurado, o Atlas desabilitará a redução automática do cluster porque todos os níveis menores não seriam capazes de acomodar as configurações de armazenamento necessárias. Se você quiser reativar o auto-scaling descendente automático, deverá fazê-lo manualmente a partir das Configurações de cluster.

  • Se o cluster não estiver atualmente no nível máximo de cluster configurado, o Atlas eleva o nível mínimo de cluster para o nível de cluster atual. Nesse caso, o Atlas não desativa o auto-scaling descendente.

Essa lógica de auto-scaling foi projetada para reduzir o tempo de inatividade incorrido pelas configurações de armazenamento que não correspondem ao seu volume de trabalho.

Quando um evento de auto-scaling modifica a camada do cluster mínima ou máxima configurada, o Atlas envia um e-mail a todos os proprietários de projeto sobre a nova camada do cluster e quaisquer níveis mínimos ou máximos de camada modificados.

Dependendo se você optar por usar o auto-scaling de armazenamento, o Atlas gerencia as entradas do oplog com base na janela mínima de retenção do oplog ou no tamanho do oplog. Para saber mais, consulte Comportamento do tamanho do Oplog. O Atlas permite o auto-scaling de armazenamento por padrão.

Você pode configurar opções de dimensionamento automático ao criar ou modificar um cluster. Para novos clusters, o Atlas permite automaticamente o dimensionamento automático da camada de cluster e o dimensionamento automático de armazenamento. Você pode revisar e ajustar as camadas de cluster superior e inferior que o Atlas deve usar ao fazer o dimensionamento automático do seu cluster ou pode optar por não participar.

O Atlas exibe opções de auto-scaling na seção Auto-scale do construtor de cluster para clusters de nível General e Low-CPU.

Quando você cria um novo cluster, o Atlas permite o dimensionamento automático para a camada do cluster e o armazenamento do cluster. Você não precisa ativar explicitamente o dimensionamento automático. Se preferir, você pode optar por não usar a camada de cluster e o armazenamento de cluster.

Observação

O Atlas permite o dimensionamento automático da camada de cluster por padrão quando você cria clusters na UI do Atlas. Se você criar clusters com a API, o Atlas desabilitará o dimensionamento automático da camada de cluster por padrão.

Com o escalonamento automático ativado, seu cluster pode automaticamente:

  • Escale para aumentar a capacidade com uma camada do cluster mais alta.

  • Diminuir a camada de cluster atual para uma camada de cluster mais baixa.

Na seção Cluster tier das opções do Auto-scale , você pode especificar os valores do Maximum Cluster Size e Minimum Cluster Size para os quais seu agrupamento pode escalar automaticamente. O Atlas define estes valores da seguinte forma:

  • O Maximum Cluster Size está definido como um nível acima da camada do cluster atual.

  • O Minimum Cluster Size está definido para a camada do cluster atual.

Para revisar as opções de auto-scaling habilitadas para armazenamento e camada do cluster:

  1. Na caixa de seleção Auto-Scale selecionada, revise os valores Maximum Cluster Size e Minimum Cluster Size e ajuste-os se necessário.

  2. Revise a opção Allow cluster to be scaled down que é marcada por padrão quando você cria um novo cluster.

  3. Revise as opções na caixa de seleção Storage Scaling que está marcada por padrão.

Para desativar o auto-scaling do cluster (aumento da camada do cluster), ao criar um novo cluster, navegue até o menu Cluster Tier e desmarque a caixa de seleção Cluster Tier Scaling na seção Auto-scale.

Para desativar o escalonamento automático do cluster (diminuindo a camada do cluster), ao criar um novo cluster, navegue até o menu Cluster Tier e desmarque a caixa de seleção Allow cluster to be scaled down na seção Auto-scale.

Para desativar o dimensionamento do armazenamento em cluster, desmarque a caixa de seleção Storage Scaling na seção Auto-scale.

Quando ocorre um evento de dimensionamento automático:

  • O Atlas registra o evento no projeto Activity Feed. Para saber mais sobre o Activity Feed, consulte Visualizar todas as atividades.

  • O Atlas envia um e-mail a todos os proprietários de projeto sobre a camada do cluster original e a nova camada do cluster após o auto-scaling.

← Personalizar o armazenamento em cluster