Práticas recomendadas gerais

Nesta página, você encontra orientação sobre o uso ideal do Memorystore para Redis. Essa página também indica possíveis problemas que devem ser evitados.

Para ver uma lista de cenários de solução de problemas, consulte Solução de problemas.

Exportação de RDB

Ao exportar um backup do RDB, siga estas orientações:

Operações com uso intensivo de recursos

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

O upgrade, o escalonamento e o failover manual de versões usam memória extra (para instâncias do nível Padrão) devido à replicação. Essas operações seguem o processo de replicação descrito em Comportamento de upgrade da instância do nível Padrão.

As operações de importação e exportação exigem memória extra devido ao processo Redis interrompido e ao gerenciamento de dados de cópia em gravação associados a essas operações.

Para diminuir as desvantagens das operações que usam muitos recursos, é necessário:

Operações e cenários que exigem uma nova tentativa de conexão

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

Essas operações modificam a instância, exigindo uma interrupção de conexão temporária. A lógica de nova tentativa precisa estar em espera exponencial antes da execução dessas operações para que o aplicativo se reconecte automaticamente e continue funcionando normalmente.

Manutenção de rotina

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

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

Gerenciamento de memória

O gerenciamento 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 você reduza a configuração de maxmemory da instância para se manter sobrecarregado no caso de alta pressão da memória.

A melhor maneira de monitorar a pressão sobre a memória na instância do Memorystore é usar a métrica de proporção de uso da memória do sistema. Para obter um guia detalhado sobre como gerenciar a memória do Memorystore para Redis, consulte Práticas recomendadas para o gerenciamento de memória.

Como gerenciar conexões inativas

Com o tempo, é possível que o número de conexões com sua instância do Memorystore aumente se as conexões não estiverem sendo encerradas corretamente. Isso pode ter implicações negativas no desempenho, especialmente se você estiver usando criptografia em trânsito, que impõe limites máximos de conexões com base no seu nível de capacidade. Para atenuar esse problema, recomendamos o uso do parâmetro de configuração do Redis timeout, que permite definir o número de segundos antes que as conexões de clientes inativas sejam encerradas automaticamente.

Conector de acesso VPC sem servidor necessário em alguns ambientes sem servidor

Alguns ambientes sem servidor exigem um conector de acesso VPC sem servidor para se conectar ao Memorystore para Redis. Se quiser se conectar usando um desses ambientes, configure o conector de acesso VPC sem servidor para seu projeto.

Rede

Recomendamos usar o modo de conexão do acesso a serviços privados. O Memorystore para Redis usa dois modos de conexão: acesso particular a serviços e peering direto. O modo de conexão do acesso a serviços privados simplifica o gerenciamento de intervalos de IP e permite o uso da VPC compartilhada, se quiser.

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

Para mais detalhes, consulte Rede.

Monitoramento e alertas

Recomendamos o uso de monitoring e alertas, porque eles fornecem indicadores-chave sobre o uso da memória da sua instância do Redis. Elas também fornecem insights sobre a eficiência da sua instância do Redis na resposta às solicitações de cache recebidas.

É necessário configurar os seguintes alertas padrão:

Práticas recomendadas de uso da CPU

O uso inadequado de comandos caros do Redis leva a alta latência, falta de resposta ou problemas de conectividade. As instâncias de nível padrão oferecem alta disponibilidade durante a recuperação de desastres e dependem da replicação assíncrona entre os nós principais e de réplica. Se um dos nós tiver um processamento de comandos caro que bloqueie a linha de execução principal do Redis, a replicação poderá ser afetada. Se o problema persistir e ocorrer uma interrupção de localização, os dados mais recentes gravados no local da interrupção podem não estar disponíveis no outro local.

Recomendamos usar o Cloud Monitoring para definir alertas para a métrica Segundos de CPU da linha de execução principal (redis.googleapis.com/stats/cpu_utilization_main_thread) para garantir que o uso da CPU não exceda 0,9 segundo para o nó principal e 0,5 segundo para cada nó de réplica.

Se a instância do Redis exceder os valores recomendados, recomendamos que você a escalone para um nível de capacidade maior ou siga as instruções de solução de problemas para evitar operações que consomem muita CPU.