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.

Nomes de recursos da Transparência no acesso

Dados sensíveis não podem ser armazenados em nomes de recursos do Memorystore para Redis. Por nomes de recursos, queremos dizer nomes de instâncias do Memorystore para Redis e metadados de instância, como tags. Não há garantia de que os dados armazenados em nomes de recursos serão protegidos pela Transparência no acesso do Google Cloud, e eles podem entrar em conflito com os requisitos de compliance da sua organização.

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 monitoramento 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 para o uso da CPU

O uso indevido de comandos Redis com custo maior leva a alta latência, falta de resposta ou problemas de conectividade. 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 principais e de réplica. Se um dos nós tiver um processamento de comando caro que bloqueia a linha de execução principal do Redis, a replicação poderá ser afetada. Se o problema persistir e ocorrer uma falha no local, os dados mais recentes gravados no local da falha 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 a utilização da CPU não exceda 0,9 segundos para o nó principal e 0,5 segundos para cada nó de réplica.

Se a instância do Redis exceder os valores recomendados, recomendamos dimensionar a instância para um nível de capacidade mais alto ou seguir as instruções de solução de problemas para evitar operações intensivas de CPU.