Resolver problemas

Nesta página, explicamos vários cenários de erro e fornecemos orientações para resolver os erros.

Cenários de replicação

Esta seção explica problemas de replicação que podem ocorrer com sua instância.

Como você monitora atrasos de replicação?

O Memorystore para Valkey tem a métrica /instance/replication/maximum_offset_diff. Essa métrica monitora a diferença máxima de deslocamento de replicação (em bytes) para um nó em uma instância principal.

Ao manter baixa a diferença de compensação de replicação, as réplicas podem realizar operações de sincronização incremental com mais frequência e a um custo menor do que as operações de sincronização completa.

Recomendamos que você defina um limite para a métrica maximum_offset_diff. Se o limite for excedido, o Memorystore para Valkey poderá enviar um alerta.

Com base no tipo de nó da sua instância, recomendamos que você defina o limite da seguinte maneira:

  • Se o tipo de nó for shared-core-nano, standard-small ou highmem-medium, defina o limite como menos de 64 MB.
  • Se o tipo de nó for highmem-xlarge, defina o limite como menos de 1 GB.

O que fazer se houver um atraso na replicação entre a instância principal e as réplicas?

Pode haver um atraso significativo na replicação se a instância principal tiver muitas operações de gravação e as réplicas não conseguirem acompanhar para replicar essas operações. Para resolver esse problema, recomendamos que você dimensione a capacidade da instância aumentando o número de fragmentos.

Cenários de gerenciamento de memória

Esta seção explica os problemas de gerenciamento de memória que sua instância pode encontrar.

Qual métrica você pode usar para determinar se a instância está com estresse de memória?

Para monitorar o uso da memória de uma instância do Memorystore para Valkey, recomendamos que você consulte a métrica /instance/memory/maximum_utilization. Se o uso de memória da instância se aproximar de 80% e você esperar que o uso de dados aumente, aumente o tamanho da instância para melhorar o desempenho e abrir espaço para novos dados.

Cenários de monitoramento

Esta seção explica os problemas de monitoramento que sua instância pode encontrar.

Como configurar alertas para o Memorystore para Valkey?

Use o Cloud Monitoring para definir alertas que avisam se alguma métrica exceder os limites definidos para sua instância. Para mais informações sobre como definir alertas no Cloud Monitoring, consulte Definir um alerta do Monitoring para uso de memória.

Cenários de gerenciamento de conexões

Esta seção explica os problemas de gerenciamento de conexões que sua instância pode encontrar.

Se você atingir o limite de conexão ou receber um tempo limite de conexão, o que fazer?

Quando você atinge o limite de conexões, o cliente não consegue se conectar ao servidor. Isso é conhecido como uma rejeição de conexão.

Se isso acontecer, faça o seguinte:

Cenários de tempo limite

Esta seção explica os problemas de tempo limite que sua instância pode encontrar.

Se você receber um tempo limite de E/S, o que fazer?

Quando uma operação de leitura ou gravação no Memorystore para Valkey não é concluída em um período especificado, ocorre um tempo limite de E/S. Esse tempo limite pode ocorrer por vários motivos. Por exemplo, um ou mais nós da sua instância podem estar sobrecarregados.

Se você receber um tempo limite de E/S, faça o seguinte:

  • Use a métrica instance/cpu/maximum_utilization para determinar a utilização da CPU de um nó na sua instância, de 0,0 (0%) a 1,0 (100%). Recomendamos que todos os nós tenham uma porcentagem de utilização da CPU inferior a 80%. Para mais informações, consulte Práticas recomendadas de uso da CPU.
  • Quando o cliente se desconecta do servidor porque o tempo limite do servidor expira, tente de novo com espera exponencial e com instabilidade. Isso ajuda a evitar que vários clientes sobrecarreguem o servidor simultaneamente.

Cenários de erro de conectividade

Esta seção explica os problemas de conectividade que sua instância pode encontrar.

Erro de conexão causado por regras de firewall

As regras de firewall podem causar erros de conexão ao bloquear as portas usadas pelo Memorystore para Valkey. Permita listar todas as portas para os dois endpoints do Private Service Connect da sua instância. Para mais informações sobre os endpoints, consulte Endereços de rede reservados.

Erro de conexão causado por políticas da organização.

É possível ter uma política da organização que bloqueia suas conexões do Private Service Connect com a instância do Memorystore para Valkey.

Se a política da organização usar a política .restrictPrivateServiceConnectProducer, adicione à lista de permissões o número da pasta 961333125034, que é específica para o Memorystore para Valkey. Exemplo:

name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
spec:
    rules:
      - values:
          allowedValues:
          - under:folders/961333125034

Se a política da organização usar a política .disablePrivateServiceConnectCreationForConsumers, adicione SERVICE_PRODUCERS à lista de permissões. Exemplo:

name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers
spec:
    rules:
      - values:
          allowedValues:
          - SERVICE_PRODUCERS

Como lidar com erros em instâncias com o modo de cluster desativado

  • Se o aplicativo se conectar ao endpoint de leitura de uma instância sem réplicas de leitura, a conexão será fechada e a mensagem de erro ERR no replicas found vai aparecer. Nesse caso, tente conectar o aplicativo ao endpoint principal ou adicione réplicas de leitura à instância.

  • Em caso de failover, as conexões atuais do aplicativo serão fechadas e a mensagem de erro ERR role change occurred vai aparecer. Essa mensagem de erro também aparece se o aplicativo se conectar ao endpoint de leitura de uma instância e todas as réplicas de leitura dela falharem. Nesse caso, o aplicativo precisa tentar se conectar de novo com espera exponencial.