Acerca do ajuste da capacidade das instâncias

Esta página descreve o comportamento da sua instância do Memorystore for Valkey durante o escalamento.

Pode ajustar a capacidade da sua instância das seguintes formas:

  • Pode alterar o número de fragmentos da sua instância. Isto é dimensionamento horizontal. Pode dimensionar uma instância horizontalmente de uma das seguintes formas:

    • Escalar horizontalmente: aumentar a capacidade da sua instância, o que dá à instância mais memória e capacidade de processamento para processar um volume maior de dados ou tráfego. A capacidade da sua instância é determinada pelo número de fragmentos na instância.

      Ao aumentar a escala da instância, a sua aplicação pode processar um aumento da procura sem degradação do desempenho. Para aumentar a escala de uma instância, adicione fragmentos à instância.

    • Reduzir a escala: reduzir a capacidade da sua instância, o que diminui a capacidade de processamento e a quantidade de memória disponível para armazenar dados. Isto ocorre quando as exigências de dados da sua aplicação diminuem e tem de reduzir a utilização de recursos para poupar custos. Para reduzir a escala de uma instância, reduza o número de fragmentos na instância.

  • Pode alterar o tipo de nó da sua instância. Isto é dimensionamento vertical. Pode dimensionar uma instância verticalmente de uma das seguintes formas:

    • Aumentar a escala: aumente a capacidade da sua instância. A capacidade da instância é determinada pelo tipo de nó da instância. Para aumentar a escala de uma instância, altere o tipo de nó para um tipo de nó maior. Por exemplo, aumente a escala da sua instância de um tipo de nó standard-small para um tipo de nó highmem-medium.
    • Reduzir a escala: reduza a capacidade da sua instância. Para reduzir verticalmente uma instância, altere o tipo de nó para um tipo de nó mais pequeno. Por exemplo, reduza a escala da instância de um tipo de nó highmem-medium para um tipo de nó standard-small.

Impacto do dimensionamento

Durante uma operação de escalamento, a disponibilidade da sua instância não é afetada. No entanto, quando altera o número de fragmentos na sua instância, o Memorystore for Valkey reequilibra o espaço de chaves da instância. Isto pode causar um aumento da latência durante a operação de escalabilidade.

Além disso, o impacto do dimensionamento vertical da instância alterando o tipo de nó é semelhante ao que acontece com uma operação de manutenção.

Cenários de falha

Se encontrar um erro durante a operação de ajuste de escala, é provável que se deva a um dos seguintes cenários:

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

    Para resolver este problema, pode aumentar a escala da instância ou libertar memória dos nós da instância. Para libertar memória, faça o seguinte:

    1. Estabeleça ligação a uma instância do Memorystore for Valkey.
    2. Para obter detalhes sobre a instância, incluindo o endereço IP e o número da porta, use o comando gcloud memorystore instances describe.
    3. Tome nota do endereço IP e do número da porta da instância.
    4. Para obter 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 anotou no passo anterior.

    5. Tome nota do endereço IP e do número da porta de um nó que não tenha espaço livre suficiente. O ID deste nó corresponde a um ID que aparece no erro.

    6. Para se ligar a este nó, use o seguinte comando:

      valkey-cli -h IP_ADDRESS -p PORT_NUMBER
      

      Substitua IP_ADDRESS e PORT_NUMBER pelos valores que anotou no passo anterior.

    7. No comando, introduza o comando info memory.

      No resultado, são apresentados os valores dos parâmetros used_memory e maxmemory. used_memory é a quantidade de memória que o nó usa 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 é superior a 98%.

    9. Para libertar espaço para o nó, elimine algumas das chaves do nó.

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

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

    12. Para quaisquer outros nós que não tenham espaço livre suficiente, repita os passos 4 a 11 deste procedimento.

  • Aumentou a escala para uma quantidade de fragmentos mais pequena que não tem capacidade para armazenar todas as chaves que o Memorystore for Valkey armazena na instância original. Para resolver este problema, aumente o número de fragmentos para que possam conter todas as chaves armazenadas. Para mais informações sobre como aumentar o número de fragmentos da sua instância, consulte o artigo Aumente o número de fragmentos.

  • Aumentou a escala para um tipo de nó mais pequeno que não tem capacidade para armazenar todos os dados que o Memorystore for Valkey armazena no tipo de nó original. Se isto ocorrer, o Memorystore for Valkey fornece-lhe um tipo de nó recomendado para reduzir verticalmente a escala.

  • Atualizou o tipo de nó da sua instância e substituiu as predefinições do tipo de nó original ou estas definições já foram substituídas. No entanto, o novo tipo de nó dimensionado não suporta os valores das definições predefinidas ou as definições não são válidas para o tipo de nó. Se isto ocorrer, o Memorystore for Valkey devolve um erro. Para resolver este problema, modifique manualmente as definições para que sejam válidas para o novo tipo de nó.

  • Dimensionou a sua instância durante um período de elevada pressão de escrita (por exemplo, durante testes de carga). Para resolver este problema, ajuste a escala durante períodos de tráfego de instâncias baixo.

  • Tem um espaço que contém uma chave grande e quer migrar esta chave para outro nó. No entanto, este nó não tem memória suficiente para suportar a chave. Por conseguinte, não pode atualizar a sua instância. Para resolver este problema, reduza o tamanho da chave e tente novamente a operação de atualização.

  • O número do espaço que um nó de uma instância possui não é conhecido, mas apenas o intervalo de espaços. O Memorystore for Valkey devolve uma mensagem de erro. Se isto ocorrer, reduza o tamanho da chave e tente novamente a operação de atualização.

  • Aumentou a escala para uma quantidade de fragmentos inferior, mas o Memorystore for Valkey não tem memória suficiente para satisfazer este pedido. Para resolver este problema, aumente o número de fragmentos original.

Práticas recomendadas

Para ajudar a dimensionar a capacidade da sua instância e aumentar a velocidade e a fiabilidade do dimensionamento da instância, dimensione-a durante períodos de baixo tráfego, sempre que possível. Para saber como monitorizar o tráfego de instâncias, consulte o artigo Monitorizar instâncias.