Redis, que significa Remote Dictionary Server, é uma loja de estrutura de dados de código aberto in-memory que é usado como um banco de dados, cache de memória, e Message Broker. Ele armazena dados inteiramente na memória na forma de pares de valores-chave. Isso proporciona uma vantagem sobre todos os outros bancos de dados, pois elimina a necessidade de acessar dados do disco. Também faz do Redis um dos bancos de dados NoSQL mais rápidos, onde os dados são acessados em microssegundos porque não há atrasos no tempo de busca. Várias empresas conhecidas, como Twitter, GitHub e Snapchat, usam Redis.
Embora os bancos de dados Redis sejam caracterizados por alta disponibilidade e persistência de dados, ainda é importante acompanhar seu desempenho. O desempenho do seu aplicativo é diretamente impactado pelo do banco de dados que o alimenta. Portanto, é essencial obter uma visão holística de toda a pilha do banco de dados para garantir que você continue entregando valor aos seus clientes. As equipes de operações de TI precisam de uma solução de monitoramento Redis como o Applications Manager para garantir que suas implantações Redis sejam íntegras e atendam aos requisitos de seus aplicativos sensíveis ao desempenho.
Vamos dar uma olhada nas principais métricas de desempenho do Redis que você precisa monitorar para manter e gerenciar seu banco de dados Redis com eficiência.
Utilização da CPU
O desempenho e a eficiência gerais de um servidor de banco de dados geralmente são determinados pelo uso da CPU. O Applications Manager fornece gráficos detalhados sobre o uso da CPU do seu banco de dados Redis, incluindo a porcentagem de CPU consumida pelos processos do sistema e do usuário. O rastreamento da porcentagem de CPU do sistema usada ajuda a garantir que o host no qual o Redis esteja implantado tenha bom poder de processamento o tempo todo. O Gerenciador de aplicativos também exibe o uso da CPU filha ao longo do tempo, o que pode ajudá-lo a analisar quais processos em segundo plano (como SORT, SUNION, BGSAVE e BGREWRITEAOF) estão usando CPU excessiva.
Se você achar que o uso da CPU do seu banco de dados Redis está aumentando com o tempo, talvez seja necessário ficar de olho no volume de consultas, especialmente as lentas. A otimização dessas consultas de execução lenta pode ajudar a melhorar o desempenho do Redis.
Utilização de memória
A utilização da memória é um fator importante do desempenho do Redis. Se a alta utilização da memória for deixada despercebida, isso poderá levar a uma grave degradação do desempenho.
O monitor de desempenho Redis do Applications Manager controla três componentes da utilização da memória:
- Memória usada: representa o número total de bytes alocados pelo Redis usando seu alocador (uma função que ajuda a gerenciar a ocupação da memória). O monitoramento dessa métrica pode ajudar a evitar erros de “falta de memória” no banco de dados.
- RSS de memória usada: Este é o tamanho do conjunto residente na memória ou o número de bytes que o sistema operacional alocou ao Redis. Esta informação ajuda a identificar a fragmentação da memória.
- Memória de pico de uso: é o pico de memória consumida pelo Redis (em bytes).
O Gerenciador de aplicativos também controla a taxa de fragmentação da memória – a taxa do RSS da memória usada para a memória usada. Se a taxa de fragmentação da memória exceder 1,5, significa fragmentação excessiva da memória. Normalmente, a memória fragmentada pode ser recuperada reiniciando o servidor Redis. Uma taxa de fragmentação abaixo de 1 indica que o Redis precisa de mais memória do que a disponível no seu sistema, o que resulta na troca. A troca para o disco causará um aumento significativo na latência.
Estatísticas de cliente e conexão
O Redis permite o acesso aos dados aceitando clientes. Esses clientes são autorizados pela porta TCP. É importante acompanhar o número de clientes, pois é um indicador da carga no banco de dados.
O Gerenciador de aplicativos monitora a contagem de clientes conectados e bloqueados, bem como o número total de conexões e conexões rejeitadas. Um número maior de clientes bloqueados pode apontar para o fato de o banco de dados estar empregando comandos de bloqueio devido a alguns processos ou encadeamentos pendentes que aguardam o recebimento de dados da rede. O monitoramento de conexões ativas ajuda a garantir que você tenha conexões adequadas para lidar com todas as solicitações nos horários de pico. Se houver um aumento no número de conexões rejeitadas, isso pode indicar que o banco de dados Redis atingiu o limite do número máximo de clientes que podem ser conectados simultaneamente e talvez seja necessário desconectar clientes inativos.
Estatísticas de operação
Um banco de dados Redis, como qualquer outro banco de dados, possui vários comandos que são executados para lidar com várias solicitações de banco de dados. O monitor Redis do Applications Manager controla o número de comandos processados por segundo. Essa é uma métrica crítica de desempenho do Redis, pois ajuda a detectar causas de alta latência. Com essas informações, você pode identificar e remover filas de comandos em espera e comandos lentos, o que reduzirá a latência no banco de dados.
Estatísticas do espaço de chaves
Um espaço de chave no Redis refere-se a um dicionário interno que armazena todas as chaves no banco de dados. Quando o Redis funciona como um cache, os clientes recuperam dados dos espaços de chave. Um acerto no espaço de chave indica que a chave foi encontrada, enquanto uma falta no espaço de chave indica que não foi. Nesse contexto, a taxa de acertos do cache é a proporção de acertos do espaço de chave em relação à soma de acertos do espaço de chave e faltas ao espaço de chave.
A ferramenta de monitor Redis do Applications Manager controla o número e a porcentagem de pesquisas bem-sucedidas e com falha de chaves no dicionário principal. Essas informações podem ajudá-lo a executar as etapas necessárias para aumentar a taxa de acertos do cache, analisando chaves ausentes e removendo chaves inativas, reduzindo finalmente a latência.
Principais estatísticas expiradas / despejadas
As chaves nos bancos de dados Redis têm uma propriedade chamada time to live (TLL) associada a elas. O banco de dados Redis exclui uma chave se o TTL tiver decorrido. Cabe ao aplicativo definir o valor TTL de cada objeto. Se o aplicativo não definir essa propriedade, ele fará com que os dados expirados se acumulem na memória do Redis. O Gerenciador de aplicativos ajuda a acompanhar as chaves expiradas e as chaves que são frequentemente acessadas por comandos, reduzindo a possibilidade de encontrar falhas no espaço de chaves.
O Redis suporta várias políticas de despejo configuráveis usadas pelo servidor para liberar memória quando o uso da memória atinge o limite superior. Você pode usar o Gerenciador de aplicativos para rastrear o número de chaves despejadas. Muitas chaves despejadas indicam um aumento na latência, pois novas solicitações precisam aguardar um espaço vazio antes de serem armazenadas na memória.
O Gerenciador de aplicativos também fornece informações sobre o número de chaves presentes em cada banco de dados, incluindo o número de chaves expiradas.
Estatísticas de persistência
Em um banco de dados, a persistência de dados é uma característica crucial. Os bancos de dados Redis empregam processos de replicação por motivos de backup; portanto, é ainda mais importante monitorar as estatísticas de persistência no Redis.
O Applications Manager exibe detalhes sobre os estados de persistência dos arquivos de banco de dados Redis (RDBs) e anexa apenas arquivos (AOFs), como o status da última operação de salvamento do RDB, que fornece clareza sobre a volatilidade dos dados e o status da operação de reescrita do AOF, que fornece informações sobre a quantidade de dados que você perderia se ocorresse uma falha em um determinado momento.
Detalhes da replicação
Os bancos de dados Redis se envolvem em atividades de replicação que envolvem servidores Redis escravos copiando e sincronizando dados do mestre. Isso garante que os dados nunca sejam totalmente perdidos se o servidor quebrar. O monitoramento do processo de replicação pode garantir a integridade dos dados.
O Applications Manager fornece detalhes sobre o processo de replicação, como host principal, porta principal e status do link. Com essas informações, você pode ter uma idéia geral do status dos servidores de replicação. O Gerenciador de aplicativos também rastreia o número de escravos envolvidos no processo de replicação. Isso ajuda a gerenciar bancos de dados Redis com muita leitura.
Garantir que o seu banco de dados Redis esteja executando de maneira ideal requer erros contínuos de monitoramento e solução de problemas, se ocorrerem. O Applications Manager oferece monitoramento de desempenho Redis pronto para o uso, com informações detalhadas que permitem identificar facilmente problemas no banco de dados e corrigi-los antes que o sistema fique sobrecarregado.
Deseja otimizar o desempenho do Redis? Comece agora com uma avaliação gratuita de 30 dias do Applications Manager.
O Applications Manager faz parte do conjunto de soluções ManageEngine ITOM. Além de aplicações de monitoramento, Itom também tem soluções para agilizar o monitoramento de rede, monitoramento de servidores , monitoramento da largura de banda , gerenciamento de configuração, segurança de firewall e conformidade, gerenciamento de endereços IP e gerenciamento de porta de switch.
Na verdade, isso faz das soluções ITOM a escolha ideal para mais de 1 milhão de administradores de TI em todo o mundo.
Não perca tempo e inicie sua avaliação gratuita de 30 dias do Applications Manager, contando sempre com o apoio da equipe ACSoftware.
ACSoftware revenda e distribuidora ManageEngine no Brasil. – Fone / WhatsApp (11) 4063 9639.
PodCafé da TI – Podcast, Tecnologia e Cafeína.