Sobre o escalonamento da capacidade da instância

Esta página descreve como a instância do Memorystore para Valkey se comporta durante o dimensionamento.

É possível escalonar a capacidade da instância das seguintes maneiras:

  • É possível mudar o número de fragmentos da sua instância. Isso é chamado de escalonamento horizontal. É possível escalonar uma instância horizontalmente de uma das seguintes maneiras:

    • Escalabilidade horizontal: aumente a capacidade da instância, o que oferece à instância mais memória e capacidade de processamento para lidar com um volume maior de dados ou tráfego. A capacidade da sua instância é determinada pelo número de fragmentos nela.

      Ao dimensionar a instância, seu aplicativo pode lidar com um aumento na demanda sem degradação de desempenho. Para escalonar uma instância, adicione fragmentos a ela.

    • Redimensionar para dentro: reduz a capacidade da instância, o que diminui o poder de processamento e a quantidade de memória disponível para armazenar dados. Isso ocorre quando as demandas de dados do aplicativo diminuem e você precisa reduzir o uso de recursos para economizar custos. Para dimensionar uma instância, reduza o número de fragmentos nela.

  • Você pode mudar o tipo de nó da sua instância. Isso é chamado de escala vertical. É possível dimensionar uma instância verticalmente de uma das seguintes maneiras:

    • Escalonamento vertical: aumente a capacidade da sua instância. A capacidade da sua instância é determinada pelo tipo de nó dela. Para aumentar o escalonamento de uma instância, mude o tipo de nó para um tipo maior. Por exemplo, aumente a instância de um tipo de nó standard-small para um tipo de nó highmem-medium.
    • Reduzir: reduza a capacidade da sua instância. Para reduzir o escalonamento de uma instância, mude o tipo de nó para um menor. Por exemplo, reduza a instância de um tipo de nó highmem-medium para um tipo de nó standard-small.

Impacto do escalonamento

Durante uma operação de escalonamento, a disponibilidade da instância não é afetada. No entanto, quando você muda o número de fragmentos na sua instância, o Memorystore para Valkey reequilibra o keyspace da instância. Isso pode aumentar a latência durante a operação de escalonamento.

Além disso, o impacto de dimensionar sua instância verticalmente mudando o tipo de nó é semelhante ao que acontece com uma operação de manutenção.

Cenários de falha

Se você encontrar um erro durante a operação de escalonamento, provavelmente será devido a um dos seguintes cenários:

  • Você quer atualizar a contagem de fragmentos da sua instância, mas não tem memória livre suficiente para o tipo de nó shared-core-nano da sua instância.

    Para resolver esse problema, aumente a instância ou libere memória dos nós da instância. Para liberar memória, faça o seguinte:

    1. Conecte-se a uma instância do Memorystore for Valkey.
    2. Para conferir detalhes sobre a instância, incluindo o endereço IP e o número de porta, use o comando gcloud memorystore instances describe.
    3. Anote o endereço IP e o número da porta da instância.
    4. Para receber informações sobre os nós da instância, use o seguinte comando:

      valkey-cli -h IP_ADDRESS -p PORT_NUMBER cluster nodes
      

      Substitua IP_ADDRESS e PORT_NUMBER pelos valores que você anotou na etapa anterior.

    5. Anote o endereço IP e o número da porta de um nó que não tem espaço livre suficiente. O ID desse nó corresponde a um ID que aparece no erro.

    6. Para se conectar a esse nó, use o seguinte comando:

      valkey-cli -h IP_ADDRESS -p PORT_NUMBER
      

      Substitua IP_ADDRESS e PORT_NUMBER pelos valores anotados na etapa anterior.

    7. No prompt, digite o comando info memory.

      Na saída, os valores dos parâmetros used_memory e maxmemory aparecem. used_memory é a quantidade de memória usada pelo nó, e maxmemory é a quantidade de memória disponível para o nó.

    8. Divida o valor do parâmetro used_memory pelo valor do parâmetro maxmemory e verifique se o quociente é maior que 98%.

    9. Para liberar espaço para o nó, exclua algumas das chaves dele.

    10. Digite o comando info memory novamente. Na saída, o valor do parâmetro used_memory é menor.

    11. Divida o valor do parâmetro used_memory pelo valor do parâmetro maxmemory e verifique se o quociente agora é menor que 98%. Se não for, exclua mais chaves.

    12. Para outros nós que não têm espaço livre suficiente, repita as etapas 4 a 11 deste procedimento.

  • Você dimensionou para uma contagem de fragmentos menor que não tem capacidade de armazenar todas as chaves que o Memorystore para Valkey armazena na instância original. Para resolver isso, escalone para uma contagem de fragmentos maior que possa armazenar todas as chaves armazenadas. Para mais informações sobre como aumentar o número de fragmentos da sua instância, consulte Dimensionar a contagem de fragmentos.

  • Você dimensionou para um tipo de nó menor que não tem capacidade para armazenar todos os dados que o Memorystore para Valkey armazena no tipo de nó original. Se isso acontecer, o Memorystore para Valkey vai fornecer um tipo de nó recomendado para reduzir a escala verticalmente.

  • Você atualizou o tipo de nó da sua instância e substituiu as configurações padrão do tipo de nó original ou essas configurações já foram substituídas. No entanto, o novo tipo de nó dimensionado não oferece suporte aos valores das configurações padrão ou as configurações não são válidas para o tipo de nó. Se isso ocorrer, o Memorystore para Valkey vai retornar um erro. Para resolver isso, modifique as configurações manualmente para que sejam válidas para o novo tipo de nó.

  • Você dimensionou a instância durante um período de alta pressão de gravação (por exemplo, durante o teste de carga). Para resolver esse problema, faça a escala durante períodos de baixo tráfego de instâncias.

Práticas recomendadas

Para ajudar a dimensionar a capacidade da sua instância e aumentar a velocidade e a confiabilidade do dimensionamento, faça isso durante períodos de baixo tráfego, sempre que possível. Para saber como monitorar o tráfego da instância, consulte Monitorar instâncias.