Nesta página, descrevemos como a instância do Memorystore para Valkey se comporta durante o escalonamento.
É possível escalonar a capacidade da instância das seguintes maneiras:
Você pode mudar o número de fragmentos da instância. Isso é o escalonamento horizontal. É possível escalonar uma instância horizontalmente de uma das seguintes maneiras:
Escalonar horizontalmente: aumenta a capacidade da instância, o que oferece mais memória e poder de processamento para lidar com um volume maior de dados ou tráfego. A capacidade da instância é determinada pelo número de fragmentos nela.
Ao escalonar horizontalmente a instância, o aplicativo pode lidar com um aumento na demanda sem degradação de desempenho. Para escalonar horizontalmente uma instância, adicione fragmentos a ela.
Reduzir escalonamento horizontal: 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 escalonar verticalmente uma instância, reduza o número de fragmentos nela.
É possível mudar o tipo de nó da instância. Isso é o escalonamento vertical. É possível escalonar uma instância verticalmente de uma das seguintes maneiras:
- Escalonar verticalmente: aumenta a capacidade da instância. A capacidade da instância é determinada pelo tipo de nó dela. Para escalonar verticalmente uma instância, mude o tipo de nó para um maior. Por exemplo, escalone verticalmente a instância de um tipo de nó
standard-smallpara umhighmem-medium. Reduzir escala vertical: reduz a capacidade da instância. Para reduzir a escala de uma instância, mude o tipo de nó para um menor. Por exemplo, reduza a escala da instância de um tipo de nó
highmem-mediumpara umstandard-small.
- Escalonar verticalmente: aumenta a capacidade da instância. A capacidade da instância é determinada pelo tipo de nó dela. Para escalonar verticalmente uma instância, mude o tipo de nó para um maior. Por exemplo, escalone verticalmente a instância de um tipo de nó
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 instância, o Memorystore para Valkey reequilibra o espaço de chaves da instância. Isso pode causar aumento na latência durante a operação de escalonamento.
Além disso, o impacto do escalonamento vertical da instância 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, é provável que seja devido a um dos seguintes cenários:
Você quer atualizar a contagem de fragmentos da instância, mas não tem memória livre suficiente para o tipo de nó
shared-core-nano.Para resolver esse problema, você pode escalonar verticalmente a instância ou liberar memória dos nós de sua instância. Para liberar memória, faça o seguinte:
- Conecte-se a uma instância do Memorystore para Valkey.
- Para receber detalhes sobre a instância, incluindo o endereço IP e o número da porta, use o
gcloud memorystore instances describecomando. - Anote o endereço IP e o número da porta da instância.
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.
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.
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 que você anotou na etapa anterior.
No prompt, insira o comando
info memory.Na saída, os valores dos parâmetros
used_memoryemaxmemoryaparecem.used_memoryé a quantidade de memória que o nó usa emaxmemoryé a quantidade de memória disponível para o nó.Divida o valor do parâmetro
used_memorypelo valor do parâmetromaxmemorye verifique se o quociente é maior que 98%.Para liberar espaço para o nó, exclua algumas das chaves dele.
Insira o comando
info memorynovamente. Na saída, o valor do parâmetroused_memoryé menor.Divida o valor do parâmetro
used_memorypelo valor do parâmetromaxmemorye verifique se o quociente agora é menor que 98%. Se não for, exclua mais chaves.Para outros nós que não têm espaço livre suficiente, repita as etapas de 4 a 11 deste procedimento.
Você escalonou para uma contagem de fragmentos menor que não tem capacidade para armazenar todas as chaves que o Memorystore for 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 instância, consulte Escalonar a contagem de fragmentos.
Você escalonou 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 ocorrer, o Memorystore para Valkey vai fornecer um tipo de nó recomendado para reduzir escala vertical.
Você atualizou o tipo de nó da 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ó escalonado 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 elas sejam válidas para o novo tipo de nó.
Você escalonou a instância durante um período de alta pressão de gravação (por exemplo, durante o teste de carga). Para resolver isso, escalone durante períodos de baixo tráfego de instância.
Você tem um slot que contém uma chave grande e quer migrar essa chave para outro nó. No entanto, esse nó não tem memória suficiente para oferecer suporte à chave. Não é possível atualizar a instância. Para resolver isso, reduza o tamanho da chave para que ela seja menor que 128 MB. Em seguida, tente novamente a operação de atualização.
O número de slots que um nó de uma instância possui não é conhecido, mas apenas o intervalo de slots. O Memorystore para Valkey retorna uma mensagem de erro. Se isso ocorrer, reduza o tamanho da chave e tente novamente a operação de atualização.
Você aumentou a capacidade da instância escalonando horizontalmente para uma contagem de fragmentos menor. No entanto, o Memorystore para Valkey não tem memória suficiente para atender a essa solicitação. Para resolver isso, reduza a capacidade da instância escalonando verticalmente para a contagem de fragmentos original e maior.
Práticas recomendadas
Para ajudar a escalonar a capacidade da instância e aumentar a velocidade e a confiabilidade do escalonamento, 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.