Escalonador automático gerenciado

Esta página descreve como o escalonador automático gerenciado funciona e descreve os custos e as limitações ao usá-lo. Ele também fornece informações para ajudam a determinar como configurar o escalonador automático gerenciado.

Como funciona o escalonador automático gerenciado

Quando você ativa o escalonador automático gerenciado, o Spanner ajusta automaticamente o tamanho da instância. O recurso de escalonador automático gerenciado reage a mudanças nas necessidades de armazenamento ou de carga de trabalho da instância conforme a carga aumenta ou diminui. O escalonamento automático gerenciado escalona verticalmente, adicionando capacidade de computação à instância ou ela diminui, removendo a capacidade de computação da instância.

Ao configurar o escalonador automático gerenciado, é possível usar unidades de processamento para instâncias pequenas ou nós para instâncias grandes. Neste documento, usamos o termo capacidade de computação para indicar nós ou unidades de processamento.

O escalonador automático gerenciado do Spanner determina a quantidade de computação capacidade é necessária com base no seguinte:

  • Meta de utilização de CPU de alta prioridade
  • Meta de uso do armazenamento
  • Limite mínimo
  • Limite máximo

Cada dimensão de escalonamento gera um tamanho de instância recomendado, e o Spanner usa automaticamente o maior. Isso significa que, por caso a instância precise de 10 nós para atender à utilização do armazenamento destino, mas 12 nós para atingir sua meta de uso da CPU, o Spanner escalona a instância para 12 nós.

À medida que a quantidade de capacidade de computação muda, o Spanner otimiza continuamente o armazenamento. Reequilibra os dados em todos os servidores para garantir que o tráfego seja distribuído de maneira uniforme e que nenhum servidor individual fique sobrecarregado. Consulte Limitações para mais informações.

Se o escalonador automático gerenciado escalonar uma instância até o limite máximo, mas o ainda está causando uma utilização de CPU maior do que o destino, as solicitações de carga de trabalho podem ter latência ou falha. Se uma instância for escalonada para o objetivo máximo de capacidade de computação, mas a carga de trabalho precisar de mais armazenamento do que o limite máximo, as solicitações de gravação poderão falhar. Para saber se a meta máxima foi atingida, consulte os registros de eventos do sistema do escalonador automático gerenciado no console do Google Cloud na Insights do sistema. Para mais informações, consulte Limites de armazenamento.

Quando o Spanner reduz o escalonamento vertical de uma instância, ele remove a capacidade de computação em um ritmo mais lento do que com o escalonamento vertical, para reduzir qualquer impacto na latência.

Custos

Os custos totais do Spanner podem ser menores ou maiores, dependendo de como você configurou a instância do Spanner antes de ativar o escalonador automático gerenciado e os limites definidos para ele.

Por exemplo, se você configurava manualmente o Spanner tenha capacidade de computação suficiente para lidar com os picos de cargas de trabalho a qualquer momento, é possível que seus custos com o escalonador automático gerenciado sejam menores porque a capacidade de computação quando a instância está ociosa.

Se você configurou manualmente a instância do Spanner para ter capacidade de computação suficiente para cargas de trabalho médias e a performance geral se degrada quando o tráfego de carga de trabalho aumenta, seus custos com o escalonador automático gerenciado podem ser maiores porque ele pode aumentar a capacidade de computação quando a instância está ocupada. No entanto, isso oferece aos usuários uma performance mais consistente.

É possível limitar o custo máximo da sua instância do Spanner definindo o limite máximo de nós ou unidades de processamento para o nível desejado e reduzir os gastos com rede.

Limitações

As seguintes limitações se aplicam quando você ativa ou altera o recurso de escalonamento automático em uma instância:

  • Não é possível mover uma instância quando o o recurso de escalonamento automático gerenciado está ativado. Primeiro, desative o escalonador automático gerenciado e depois mova a instância. Depois de mover a instância, é possível reativar o escalonador automático gerenciado.
  • Defina o limite mínimo na instância de escalonamento automático como 1.000 unidades de processamento ou mais de um nó ou mais.
  • Quando você ativa o escalonamento automático em uma instância, ela pode ser menor que o valor limite mínimo definido configure no escalonador automático gerenciado. No entanto, a instância é escalonada automaticamente até o mínimo quando você o iniciar. Por exemplo, se a instância tiver um nó, mas você definir o valor mínimo como dois nós, quando iniciar a instância, ela será escalonada automaticamente para dois nós.

Parâmetros do escalonador automático gerenciado

Ao criar ou editar uma instância e ativar o escalonador automático gerenciado, você define os valores mostrados na tabela a seguir.

Parâmetro Descrição
Meta de utilização de CPU de alta prioridade Uma porcentagem da capacidade de CPU de alta prioridade da instância. Esse valor deve ser de 10% a 90%. Quando a utilização da CPU de uma instância excede a meta definida, o Spanner adiciona imediatamente a capacidade de computação à instância. Quando a utilização da CPU é substancialmente menor do que a meta, o Spanner remove a capacidade de computação. Para orientação, ver Determine a meta de utilização da CPU.
Meta de uso do armazenamento A porcentagem de armazenamento em um nó que pode ser usada antes O Spanner faz o escalonamento vertical. Essa meta garante que você sempre tenha capacidade de computação suficiente para lidar com flutuações na quantidade de dados armazenados. Esse valor precisa estar entre 10 e 99%. Para orientações, consulte Determinar o objetivo de uso do armazenamento.
Limite mínimo A menor capacidade de computação para a qual o Spanner reduz a instância. O valor mínimo não pode ser menor que 10% do valor definido para o limite máximo. Por exemplo: Se o limite máximo for de 40 nós, o limite mínimo deverá ser de pelo menos 4 nós. O requisito de 10% é um limite absoluto. Para orientações, consulte Determinar o limite mínimo.
Limite máximo A maior capacidade de computação que o Spanner escalona da instância. Para nós, este valor precisa ser maior que 1 nó (ou mil unidades de processamento) e igual ou maior que o número mínimo de nós ou unidades de processamento. O valor não pode ser superior a 10 vezes o número escolhido para a quantidade mínima de capacidade de computação. Esse requisito de 10 vezes é um limite absoluto. Para orientações, consulte Determinar o limite máximo.

Configurar o escalonador automático gerenciado

Esta seção descreve como determinar quais números escolher para seus parâmetros de escalonamento automático gerenciado. Depois de definir os valores iniciais, monitore a instância e ajuste os números, se necessário.

Determinar a meta de uso da CPU

A meta ideal para a instância depende dos requisitos de latência e capacidade da carga de trabalho. Para conferir nossas recomendações de uso máximo da CPU para configurações de instâncias regionais, de duas regiões e multirregionais, consulte Alertas para alta utilização da CPU.

Em geral, se a latência estiver alta demais, reduza a meta de uso da CPU.

Determinar a meta de utilização do armazenamento

No escalonamento automático, a meta de utilização do armazenamento é expressa como uma porcentagem por nó. Para instâncias com 1 nó (1.000 unidades de processamento) ou mais, o armazenamento é de 4 TB por nó.

Determinar o limite máximo

O valor escolhido como a quantidade máxima de capacidade de computação é igual à capacidade de computação que a instância precisa para processar o tráfego mais intenso, mesmo que você não espere atingir esse volume na maior parte do tempo. O Spanner nunca é escalonado verticalmente para uma capacidade de computação maior do que necessidades. Esse número também é a maior quantidade pela capacidade que você pretende pagar. Consulte Parâmetros do escalonador automático para saber mais sobre os valores aceitos.

O limite máximo precisa permitir a meta de uso da CPU e a meta de uso de armazenamento definidas para o escalonamento automático.

  • Se você estiver alterando uma instância de alocação manual para gerenciada escalonamento automático, encontre a maior capacidade de computação que a instância teve nos últimos um ou dois meses. O máximo do seu escalonador automático gerenciado deve ser pelo menos tão alto.

  • Se você estiver ativando o escalonador automático gerenciado para uma nova instância, consulte métricas de outras instâncias e usá-las como um guia ao definir ao limite máximo.

  • Se você tiver uma nova carga de trabalho e não tiver certeza de como ela vai crescer, consegue estimar a quantidade de capacidade de computação necessária meta de utilização do armazenamento integrado e ajustar o número depois.

Você também precisa saber quanta cota resta no nó, porque o o escalonador automático gerenciado não pode configurar sua instância para ter mais capacidade de computação que sua cota. Para mais informações, consulte Limites de nós.

Depois que a instância estiver em execução com o escalonamento automático ativado, monitore a instância para garantir que o valor escolhido para o limite máximo seja pelo menos tão alto quanto o limite recomendado para a meta de CPU e o limite recomendado para a meta de armazenamento.

Determinar o limite mínimo

Você define um limite mínimo para o escalonador automático gerenciado para garantir que a instância do Spanner possa ser reduzida para o tamanho menor e mais econômico. O Spanner impede automaticamente que a contagem de nós caia abaixo do mínimo necessário para manter as metas de uso de CPU e armazenamento.

O menor valor mínimo permitido pelo escalonador automático gerenciado é de 1 nó ou 1.000 unidades de processamento. Quando você ativa o escalonamento automático de uma instância menor que o valor mínimo configurado para o escalonador automático gerenciado, é escalonada automaticamente até esse mínimo quando iniciada.

Depois de iniciar a instância com escalonamento automático gerenciado, execute uma teste inicial para garantir que ele funciona com o tamanho mínimo definido. Você deve testar periodicamente para garantir que continue funcionando conforme o esperado.

Para mais informações sobre os valores aceitos, consulte Parâmetros do escalonador automático gerenciado neste documento.

Em muitos casos, você quer definir o valor mínimo como maior que um. Escolha uma ou aumente o limite mínimo nas seguintes situações:

  • Você tem um evento de pico de escala em breve, quando espera que o tráfego aumente temporariamente, e quer garantir que a capacidade de computação seja suficiente.
  • Seu aplicativo envia tráfego com picos. Quando você adiciona uma nova capacidade de computação, O Spanner é reequilibrado automaticamente para usar os novos nós ou de processamento e unidades de processamento. Como esse processo pode levar vários minutos, é recomendável adotar uma abordagem conservadora e escolher um valor mínimo mais alto. Dessa forma, sua instância se acomodará perfeitamente aos picos.
  • Você aumenta a capacidade máxima de computação. O mínimo precisa ser sempre 10% ou menos da meta de capacidade de computação máxima. Por exemplo, se você definir o número máximo de nós como 30, o número mínimo de nós precisa ser pelo menos 3.

Se você aumentar o valor da capacidade mínima de computação em uma instância, o Spanner vai tentar escalonar a instância para o novo mínimo. As restrições padrão se aplicam. Quando você fica sem cota, o pedido para mudar a configuração do autoscaler gerenciado falha, e a configuração não é atualizada.

Flags e limitações de parâmetros da CLI do Google Cloud

Ao usar a Google Cloud CLI para configurar o escalonador automático gerenciado, você tem algumas as sinalizações obrigatórias que precisam ser definidas. Há flags opcionais que você usa para indicar se quer usar nós ou unidades de processamento. Para mais informações sobre como criar uma nova instância com o escalonador automático gerenciado ou ativar o escalonamento automático gerenciado em uma instância existente, consulte:

As flags a seguir são necessárias para ativar o escalonador automático gerenciado na sua instância:

  • autoscaling-high-priority-cpu-percent
  • autoscaling-storage-percent

Se você optar por usar nós, também precisará usar as duas flags a seguir ao ativar o escalonador automático gerenciado:

  • autoscaling-min-nodes
  • autoscaling-max-nodes

Se você optar por usar unidades de processamento, também deverá usar os dois itens a seguir ao ativar o escalonador automático gerenciado:

  • autoscaling-min-processing-units
  • autoscaling-max-processing-units

As limitações a seguir se aplicam ao adicionar o escalonador automático gerenciado a um instância atual usando a Google Cloud CLI:

  • Não é possível usar a sinalização --nodes com o --autoscaling-min-nodes ou --autoscaling-max-nodes porque o uso de --nodes define uma de nós em vez de um intervalo de escalonamento. Da mesma forma, não é possível usar a flag --processing-units com as flags autoscaling-min-processing-units ou autoscaling-max-processing-units, porque o uso de --processing-units define um número específico de unidades de processamento em vez de um intervalo de escalonamento.
  • Não é possível misturar as sinalizações de nós e unidades de processamento. Por exemplo, não é possível usar --autoscaling-max-nodes com autoscaling-min-processing-units.

Ajustar as configurações

Fique de olho no uso da capacidade de computação e ajuste as configurações, se necessário, principalmente depois de ativar o escalonador automático gerenciado pela primeira vez. Recomendamos usar a página Insights do sistema no Console do Google Cloud.

Controle de acesso

Para configurar o escalonador automático gerenciado, você precisa ser o principal em um papel com criar e atualizar permissões da instância que você está configurando.

Monitoramento

O Spanner fornece várias métricas para ajudar você a entender como o escalonador automático gerenciado está funcionando, conforme ele aumenta e reduz os requisitos da carga de trabalho. As métricas também podem ajudar você a avaliar se suas configurações são ideais para atender aos requisitos de custo e carga de trabalho da sua empresa. Por exemplo, se a contagem de nós de uma instância estiver próxima do número máximo de nós, considere aumentar o valor máximo. Para saber mais sobre os recursos do Spanner, consulte Monitore instâncias com o Cloud Monitoring.

As métricas a seguir são exibidas em gráficos na página Insights do sistema no console do Google Cloud. Também é possível visualizar essas métricas usando Cloud Monitoring:

  • spanner.googleapis.com/instance/autoscaling/min_node_count
  • spanner.googleapis.com/instance/autoscaling/max_node_count
  • spanner.googleapis.com/instance/autoscaling/min_processing_units
  • spanner.googleapis.com/instance/autoscaling/max_processing_units
  • spanner.googleapis.com/instance/autoscaling/high_priority_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/storage_target_utilization

Geração de registros

O Spanner cria um registro de auditoria de eventos do sistema sempre que escalona uma instância.

É possível visualizar os registros de eventos do sistema do escalonador automático gerenciado na Console do Google Cloud na página Insights do sistema.

Também é possível acessar os registros usando o Explorador de registros:

  1. No console do Google Cloud, abra a Análise de registros:

    Acesse o Explorador de registros

  2. Selecione o projeto do Google Cloud apropriado.

  3. No campo Consulta, insira:

     protoPayload.methodName="AutoscaleInstance"
    

    É possível adicionar a seguinte consulta para filtrar ainda mais os registros:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/span-cloud-testing/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstance"
  4. Clique em Executar consulta.

O painel Resultados da consulta exibirá os registros da última hora.

Para saber mais sobre como visualizar registros, consulte Cloud Logging. É possível configurar alertas com base em registros. na página Análise de registros no Google Cloud ou usando o API Cloud Monitoring.

A seguir