Práticas recomendadas para o Memorystore for Redis

Esta página fornece orientações sobre a utilização ideal do Memorystore para Redis. Esta página também indica potenciais problemas a evitar.

Para ver uma lista de cenários de resolução de problemas, consulte o artigo Resolução de problemas.

Exportação de RDB

Quando exportar uma cópia de segurança RDB, siga estas orientações:

Operações que consomem muitos recursos

Para instâncias do Redis de nível padrão, as seguintes operações usam memória adicional durante a operação:

A atualização de versão, o dimensionamento e a comutação manual por falha usam memória adicional (para instâncias de nível Standard) devido à replicação. Estas operações seguem o processo de replicação descrito em Comportamento da atualização da instância do nível padrão.

As operações de importação e exportação requerem memória adicional devido ao processo Redis ramificado e à gestão de dados de cópia na gravação associados a estas operações.

Para mitigar os inconvenientes das operações com utilização intensiva de recursos, deve:

Operações e cenários que requerem uma nova tentativa de ligação

As seguintes operações e cenários interrompem a ligação de rede entre a sua rede e a instância do Redis:

Estas operações modificam a sua instância, o que requer uma interrupção temporária da ligação. Tem de ter uma lógica de repetição com recuo exponencial antes de executar estas operações para que a sua aplicação se volte a ligar automaticamente e continue a funcionar normalmente.

Manutenção de rotina

As instâncias do Memorystore for Redis são submetidas a manutenção periodicamente. Para mais detalhes, consulte a política de manutenção do Memorystore para Redis.

Implemente as seguintes práticas recomendadas para se preparar para a manutenção de rotina:

Gestão de memória

A gestão de memória pode ser um desafio devido à conhecida fragmentação de memória que ocorre com o Redis de código aberto. Recomendamos que diminua a configuração da instância para ter margem em caso de pressão de memória elevada.maxmemory

A melhor forma de monitorizar a pressão de memória na sua instância do Memorystore é usando a métrica Rácio de utilização da memória do sistema. Para ver um guia mais detalhado sobre como gerir a memória do Memorystore for Redis, consulte as práticas recomendadas de gestão de memória.

Gerir ligações inativas

Ao longo do tempo, pode ver o número de ligações à sua instância do Memorystore aumentar se as ligações não estiverem a ser terminadas corretamente. Isto pode ter implicações negativas no desempenho, especialmente se estiver a usar a encriptação em trânsito, que impõe limites máximos de ligações com base no seu nível de capacidade. Para mitigar esta situação, recomendamos que use o timeout parâmetro de configuração do Redis que lhe permite definir o número de segundos antes de as ligações de clientes inativos serem terminadas automaticamente.

Nomes dos recursos da Transparência de acesso

Os dados confidenciais não devem ser armazenados em nomes de recursos do Memorystore para Redis. Por nomes de recursos, referimo-nos aos nomes das instâncias do Memorystore para Redis e aos metadados das instâncias, como etiquetas. Não é garantido que os dados armazenados em nomes de recursos estejam protegidos pela Google Cloud transparência de acesso e podem entrar em conflito com os requisitos de conformidade da transparência de acesso da sua organização.

Conetor do Acesso a VPC sem servidor necessário para alguns ambientes sem servidor

Alguns ambientes sem servidor requerem um conetor de acesso a VPC sem servidor para estabelecer ligação ao Memorystore para Redis. Configure o conetor do Acesso a VPC sem servidor para o seu projeto se quiser estabelecer ligação através de um destes ambientes.

Redes

Recomendamos que use o modo de ligação de acesso a serviços privados. O Memorystore for Redis usa dois modos de ligação: acesso a serviços privados e intercâmbio direto. O modo de ligação de acesso a serviços privados simplifica a gestão do intervalo de IP e permite-lhe usar a VPC partilhada, se quiser.

Depois de criar uma instância, não é possível alterar o modo de ligação.

Para mais detalhes, consulte a secção Redes.

Monitorização e alertas

Recomendamos a utilização da monitorização e dos alertas porque lhe dão sinais importantes sobre a utilização de memória da sua instância do Redis. Também lhe dão informações sobre a eficiência com que a sua instância do Redis responde aos pedidos de cache recebidos.

Deve configurar os seguintes alertas predefinidos:

Práticas recomendadas de utilização da CPU

A utilização inadequada de comandos Redis dispendiosos resulta numa latência elevada, falta de resposta ou problemas de conetividade. As instâncias do nível padrão oferecem alta disponibilidade durante a recuperação de desastres e dependem da replicação assíncrona entre os nós primários e de réplica. Se um dos nós tiver um processamento de comandos dispendioso que bloqueie a thread principal do Redis, a replicação pode ser afetada. Se o problema persistir e ocorrer uma indisponibilidade de localização, os dados mais recentes escritos na localização da indisponibilidade podem não estar disponíveis na outra localização.

Recomendamos que use o Cloud Monitoring para definir alertas para a métrica Main Thread CPU Seconds (redis.googleapis.com/stats/cpu_utilization_main_thread) para garantir que a utilização da CPU não excede 0,8 segundos para o nó principal nem 0,5 segundos para cada nó de réplica, quando a réplica é designada como uma réplica de leitura.

Se a sua instância do Redis exceder os valores recomendados, recomendamos que dimensione a instância para um nível de capacidade superior ou siga as instruções de resolução de problemas para evitar operações com utilização intensiva da CPU.