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
.
- 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ó
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:
- Estabeleça ligação a uma instância do Memorystore for Valkey.
- 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
. - Tome nota do endereço IP e do número da porta da instância.
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.
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.
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.
No comando, introduza o comando
info memory
.No resultado, são apresentados os valores dos parâmetros
used_memory
emaxmemory
.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_memory
pelo valor do parâmetromaxmemory
e verifique se o quociente é superior a 98%.Para libertar espaço para o nó, elimine algumas das chaves do nó.
Introduza novamente o comando
info memory
. Na saída, o valor do parâmetroused_memory
é inferior.Divida o valor do parâmetro
used_memory
pelo valor do parâmetromaxmemory
e verifique se o quociente é agora inferior a 98%. Se não for, elimine mais chaves.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.