Compartilhar via


Solucionar problemas do servidor do Redis Gerenciado do Azure (versão prévia)

Esta seção aborda a solução de problemas causados por condições em um Redis Gerenciado do Azure (versão prévia) ou em qualquer uma das máquinas virtuais que o hospedam.

Observação

Várias das etapas de solução de problemas neste guia incluem instruções para executar comandos do Redis e monitorar diversas métricas de desempenho. Para obter mais informações, consulte os artigos na seção Informações adicionais .

CPU alta

Alta CPU significa que o servidor Redis está ocupado e não consegue acompanhar as solicitações, fazendo com que tempos limite sejam atingidos. Verifique a métrica CPU no cache selecionando Monitoramento no menu Recursos à esquerda. Você verá o grafo CPU no painel de trabalho em Insights. Ou adicione uma métrica definida como CPU em Métricas.

A seguir estão algumas opções a considerar para uma CPU alta.

Escalar verticalmente ou mover para uma camada de desempenho mais alta

Para um maior desempenho, considere escalar verticalmente para um tamanho de cache maior, com mais núcleos de CPU. Para obter mais informações, consulte Camadas de desempenho.

Alterações rápidas no número de conexões de cliente

Para obter mais informações, confira Evitar picos de conexão de cliente.

Comandos de execução prolongada ou caros

Para obter mais informações, confira Comandos de execução prolongada.

Scaling

As operações de dimensionamento fazem uso intensivo de CPU e memória, pois podem envolver a movimentação de dados pelos nós e a alteração da topologia do cluster. Para obter mais informações, confira Dimensionamento.

Manutenção do servidor

Se o Redis Gerenciado do Azure passou por um failover, todas as conexões de cliente do nó que ficou inativo serão transferidas para o nó que ainda está em execução. A CPU pode enfrentar um pico devido ao aumento de conexões. Você pode tentar reinicializar seus aplicativos cliente para que todas as conexões de cliente possam ser recriadas e redistribuídas entre os dois nós.

Alto uso da memória

A demanda de memória no servidor pode levar a vários problemas de desempenho que atrasam o processamento de solicitações. Quando a demanda de memória surge, o sistema faz a paginação de dados para o disco, o que faz com que o sistema fique significativamente mais lento.

Estas são algumas causas possíveis de demanda de memória:

  • O cache é preenchido com dados próximos à sua capacidade máxima
  • O servidor Redis está enfrentando uma alta fragmentação de memória

A fragmentação provavelmente será causada quando um padrão de carga estiver armazenar dados com alta variação de tamanho. Por exemplo, a fragmentação pode ocorrer quando os dados são distribuídos em 1 KB e 1 MB de tamanho. Quando uma chave de 1 KB é excluída da memória existente, uma chave de 1 MB não pode se ajustar a ela, causando fragmentação. Da mesma forma, se a chave de 1 MB for excluída e a chave de 1,5 MB for adicionada, ela não poderá caber na memória recuperada existente. Isso causa memória livre não utilizada e resulta em mais fragmentação.

Se o valor used_memory_rss for maior que 1,5 vezes a métrica used_memory, haverá fragmentação na memória. A fragmentação pode causar problemas quando:

  1. O uso de memória está próximo do limite máximo de memória para o cache ou
  2. UsedMemory_RSS é maior que o limite máximo de memória, potencialmente resultando em falha de página na memória.

Se um cache estiver fragmentado e estiver sendo executado sob alta pressão de memória, o sistema executará um failover para tentar recuperar a memória RSS (Tamanho do Conjunto Residente).

O Redis expõe duas estatísticas, used_memory e used_memory_rss, por meio do o comando INFO que pode ajudá-lo a identificar esse problema. Você pode exibir essas métricas usando o Portal.

Há várias alterações que você pode fazer para ajudar a manter a integridade do uso de memória:

Para recomendações sobre gerenciamento de memória, confira Práticas recomendadas para gerenciamento de memória.

Comandos de execução longa

Para obter mais informações, confira Comandos de execução prolongada.

Limitação de largura de banda do lado do servidor

Para obter mais informações, confira Limitação de largura de banda de rede.

Informações adicionais