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
  • Revise o feed de atividades de dimensionamento automático
  • Configurar alertas para eventos de dimensionamento automático

Observação

Disponibilidade de funcionalidades

O dimensionamento automático de camada do cluster do Atlas está disponível para todos os níveis de cluster dedicado nas classes de cluster 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 dimensionamento automático do Atlas ajusta a camada do cluster com base no uso dos recursos em tempo real. O mecanismo aprimorado de dimensionamento automático agora pode detectar com mais precisão a demanda mais alta sustentada e o tráfego de pico de curto prazo para decisões de aumento de escala. Da mesma forma, o Atlas faz escolhas de downscaling mais rapidamente, para otimizar a utilização de recursos e o perfil de custos.

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 dimensionar automaticamente.

O dimensionamento automático funciona de forma contínua, e o processo não gera nenhum tempo de inatividade. O Atlas mantém um primário durante esse processo, mas os nós são atualizados um por um e ficarão indisponíveis durante a atualização.

Observação

Disponibilidade de nível

O dimensionamento automático funciona em camadas de cluster nas classes General e Low-CPU, mas não em clusters na classe Local NVMe SSD.

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 normalizada da CPU do sistema

  • Utilização da memória do sistema

O Atlas calcula a utilização da memória do sistema com base na memória do nó 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 dimensionará sua camada de cluster se a nova camada de cluster ficar fora da faixa Minimum e Maximum Cluster Size especificada.

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

Os critérios exatos de dimensionamento automático estão sujeitos a alterações para garantir a utilização apropriada dos recursos de 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.

Se você implantar nós somente leitura e quiser que seu cluster seja dimensionado mais rapidamente, considere ajustar o Modo de dimensionamento do conjunto de réplicas.

Para gerenciar com eficácia as cargas de trabalho dinâmicas dos seus aplicativos, o Atlas dimensiona os nós do seu cluster nas condições descritas nesta seção.

Se a próxima camada do cluster estiver dentro da sua faixa Maximum Cluster Size, o Atlas dimensionará os nós do seu cluster para a próxima camada se pelo menos um dos seguintes critérios for verdadeiro para qualquer nó do tipo especificado no cluster:

  • Nós operacionais:

    • Para nós operacionais em clusters M10, a média de Normalized System CPU Utilization ou System Memory Utilization excedeu 75% dos recursos disponíveis para o cluster na última hora.

    • Para nós operacionais em clusters M20, a média de Normalized System CPU Utilization ou System Memory Utilization excedeu 90% dos recursos disponíveis para o cluster por pelo menos 20 minutos, ou excedeu 75% dos recursos disponíveis para o cluster por pelo menos uma hora.

    • Para nós operacionais em clusters M30+, a média de Normalized System CPU Utilization ou System Memory Utilization excedeu 90% dos recursos disponíveis para o cluster nos últimos 10 minutos, ou excedeu 75% dos recursos disponíveis para o cluster por pelo menos uma hora.

      Esses limites garantem que seu cluster seja dimensionado rapidamente em resposta a altas cargas e que seu aplicativo possa lidar com picos de tráfego ou uso, mantendo seu desempenho e confiabilidade.

  • Nós de análise:

    • A Normalized System CPU Utilization média ou o System Memory Utilization excederam 75% de recursos disponíveis para o cluster na última hora.

O Atlas dimensiona um cluster para o próximo nível quando o cluster não foi dimensionado nas seguintes condições:

  • O cluster M10+ não foi dimensionado na última hora.

  • O cluster M20+ não foi escalado verticalmente nos últimos 20 minutos ou uma hora, dependendo dos limites.

  • O cluster M30+ não foi escalado verticalmente nos últimos 10 minutos ou uma hora, dependendo dos limites.

Por exemplo, o Atlas dimensionará um cluster M30+ em T+10 se a utilização normalizada da CPU do sistema atual do cluster for maior que 90%.

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.

Para otimizar os custos, o Atlas reduz os nós no seu cluster nas condições descritas nesta seção.

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

  • Nós operacionais:

    • A média de Normalized System CPU Utilization está abaixo de 50% dos recursos disponíveis para o cluster pelo menos nas últimas 4 horas.

    • O uso médio do cache do WiredTiger está abaixo de 90% do tamanho máximo do cache do WiredTiger por pelo menos 4 horas no tamanho atual da camada de cluster. Isso indica ao Atlas que o cluster atual não está sobrecarregado.

    • A utilização total projetada da memória do sistema no novo nível de cluster inferior está abaixo de 60% por pelo menos 4 horas. O Atlas calcula a utilização projetada da memória total mencionada na declaração anterior da seguinte forma.

      O Atlas mede o uso de memória atual e substitui o tamanho atual de uso do cache WiredTiger por 80% do tamanho do cache WiredTiger no novo cluster de nível inferior.

      Em seguida, o Atlas verifica se o uso total de memória projetado ficaria abaixo de 60% por pelo menos 4 horas no novo tamanho de camada.

      Observação

      O Atlas inclui o cache WiredTiger em seu cálculo de memória para aumentar a probabilidade de clusters com cache cheio, mas caso contrário, o tráfego baixo será reduzido. Em outras palavras, o Atlas examina o tamanho do cache do WiredTiger para determinar se ele pode reduzir com segurança a escala de um cluster ocioso com baixa utilização normalizada da CPU do sistema nos casos em que os caches WiredTiger do cluster podem atingir 90% do tamanho máximo do cache WiredTiger do cluster.

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

    Essas condições garantem que o Atlas reduza os nós operacionais em seu cluster para evitar estados de alta utilização.

  • Nós de análise:

    • A média Normalized System CPU Utilization e System Memory Utilization nas últimas 24 horas está abaixo de 50% dos recursos disponíveis para o cluster.

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

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

  • Estime o intervalo de cargas de trabalho de sua implantação e, em seguida, defina o valor Minimum Cluster Size para a camada de cluster que tem capacidade suficiente para lidar com a carga de trabalho de sua implantação. Considere quaisquer possíveis picos ou quedas na atividade do cluster.

  • Não é possível dimensionar para uma camada de cluster menor que M10.

  • Não é possível selecionar uma camada mínima de cluster abaixo da configuração de disco atual do cluster. Se seu armazenamento aumentar além do que é permitido pelo seu nível mínimo de cluster, o Atlas aumentará a configuração de armazenamento dos seus clusters além do que o seu nível mínimo de cluster suporta e, em seguida, o Atlas ajustará automaticamente o seu nível mínimo de cluster para um nível que atenda aos requisitos de armazenamento atuais do seu cluster.

    Exemplo

    Você definiu seus limites de dimensionamento automático como M20 - M60 e sua camada do cluster atual é M40 com uma capacidade de disco de 200GB. O Atlas aciona um evento de dimensionamento automático de disco para aumentar a capacidade para 320GB porque o uso atual do disco excede 180GB, o que é mais de 90% da capacidade de 200GB.

    Atlas:

    1. Eleva o nível mínimo do cluster para o próximo nível mais baixo, M30, que pode acomodar a nova capacidade de armazenamento. M20 dá suporte a uma capacidade máxima de armazenamento de 256GB, portanto, não é mais um limite de dimensionamento automático válido.

    2. O Atlas determina que o tamanho da instância atual, M40, seja compatível com a nova configuração de disco. O evento de dimensionamento automático do disco é bem-sucedido.

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. O Atlas aumenta automaticamente o armazenamento do cluster quando o espaço em disco usado atinge 90% para qualquer nó do cluster.

As seguintes considerações se aplicam:

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 dimensiona sua camada de cluster (além do armazenamento do cluster) para acomodar a nova capacidade de armazenamento.

No Azure, se você habilitar o dimensionamento automático em um cluster implantado em uma das regiões que oferecem suporte ao armazenamento estendido, e o IOPS atual for menor do que o IOPS padrão para o tamanho do disco dimensionado automaticamente, o Atlas aumentará o número de IOPS alocado no IOPS e notifica você na IU. Para saber mais, consulte Expandir a capacidade de armazenamento e IOPS no Azure..

Exemplo

A capacidade máxima de armazenamento para um cluster 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ê implantou o cluster em uma das regiões que oferecem suporte ao armazenamento estendido, o Atlas também aumenta 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 dimensionamento automático reduz o tempo de inatividade nos casos em que suas configurações de armazenamento não correspondem à sua carga de trabalho.

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 auto-scaling ao criar ou modificar um cluster. Para novos clusters, o Atlas permite automaticamente o auto-scaling da camada de cluster e o auto-scaling de armazenamento.

Você pode executar um dos seguintes procedimentos:

  • Você pode revisar e ajustar as camadas do cluster superior e inferior que o Atlas deve usar ao fazer o dimensionamento automático de seu cluster ou

  • Desativar o uso do dimensionamento automático.

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.

Você pode visualizar o feed de atividades para revisar os eventos de cada projeto do Atlas. Quando ocorre um evento de escalonamento automático, o Atlas registra o evento no projeto Activity Feed.

Para visualizar ou baixar somente eventos de dimensionamento automático:

  1. No Activity Feed, clique no menu Filter by event(s) e marque Atlas.

  2. Na caixa de pesquisa acima da lista, comece a inserir auto-scaling.

    No lado direito do menu, todos os eventos de dimensionamento automático são exibidos. Desmarque as opções que você não deseja ver. A lista de feeds é atualizada automaticamente com cada alteração que você faz.

Importante

No início de agosto 2024, o Atlas substituiu e-mails de notificação de dimensionamento automático legados por eventos de dimensionamento automático configuráveis. Por padrão, o Atlas continua a enviar todas as notificações de alerta aos proprietários do projeto. Você pode personalizar sua distribuição de alertas com dimensionamento automático para alterar os destinatários do alerta ou um método de distribuição.

As atividades de escalonamento automático são um subconjunto dos alertas do Atlas.

O Atlas configura automaticamente alertas padrão para eventos de dimensionamento automático. Você pode desativar ou alterar a configuração do alerta para alguns ou todos os eventos de escalonamento automático no nível do projeto.

Para modificar uma configuração de alerta, na seção Category, selecione Atlas Auto Scaling e, em seguida, selecione Condition/Metric na lista. Você pode então modificar as funções dos destinatários dos alertas, alterar um método de notificação, como e-mail ou SMS, e adicionar um notificador, como o Slack. Para saber mais, consulte Configurar um alerta de escalonamento automático.

Voltar

Armazenamento