Há uma série de métricas à sua escolha, mas recomendamos o foco nessas oito métricas para aproveitar ao máximo os benefícios em sua organização de TI.
1. Pontuações do Apdex e SLA
Vamos começar com as pontuações do índice de desempenho das aplicações (Apdex) e do contrato de nível de serviço (SLA), pois elas são a base de uma experiência superior do cliente. As velocidades e feeds que você medirá são os aspectos específicos que devem somar para o desempenho rápido, mas são o meio, não o fim. Clientes satisfeitos são seu objetivo, levando ao aumento das vendas.
As pontuações do Apdex e do SLA são a maneira mais popular de visualizar o monitoramento da experiência do usuário final. A pontuação do Apdex rastreia o desempenho relativo de um aplicativo especificando uma meta para o tempo que uma solicitação ou transação da web normalmente leva. Os SLAs são as métricas do seu contrato com o cliente e qualquer coisa abaixo do SLA definido corre o risco de reduzir a experiência do cliente (e possivelmente as penalidades predefinidas).
2. Disponibilidade de aplicações (também conhecida como monitoramento de tempo de atividade ou de desempenho da web)
Esta é a métrica mais básica: as luzes estão acesas? Você está monitorando e medindo se sua aplicação está online e disponível. A maioria das empresas usa isso para medir a conformidade com o contrato de nível de serviço (SLA). O tempo de atividade geralmente é uma abreviação para avaliar a confiabilidade e a integridade geral do sistema. O downtime excessivo pode afetar negativamente a satisfação do usuário nas organizações que oferecem serviços online. Para uma aplicação da web, você pode verificar a disponibilidade com uma verificação HTTP simples e agendada regularmente.
3. Uso da CPU (também conhecido como uso de recursos)
Um alto percentual de capacidade da CPU sendo usada por uma aplicação pode ser um sinal de um problema de desempenho. Um aumento repentino no uso da CPU pode resultar em tempos de resposta mais lentos. As flutuações na demanda por um aplicativo também podem ser uma indicação de que você precisa adicionar mais instâncias da aplicação. Como regra geral, se o uso da CPU exceder 70% por mais de 30% do tempo, você pode estar ficando sem capacidade de CPU.
O uso de recursos também pode incluir o uso de memória e disco. O rastreamento de RAM ajuda a identificar vazamentos de memória que podem levar a falhas ou à necessidade de mais memória. As métricas de uso de disco podem ajudar a evitar que um aplicativo fique sem armazenamento persistente, o que pode causar falhas. O alto uso de discos também pode ser um sinal de armazenamento de dados de back-end ineficiente ou políticas de retenção de dados com falha.
4. Taxas de erros
Seu software de métricas de APM deve monitorar as aplicações para registrar a porcentagem de solicitações que resultam em falhas. Isso ajuda a identificar e priorizar a resolução de problemas que afetam a experiência do usuário. Erros de aplicação podem incluir erros do servidor, uma resposta 404 ou tempo limite em um aplicativo da web. Você pode configurar sua solução APM para enviar notificações quando uma taxa de erro ultrapassar um parâmetro definido. Por exemplo, envie um alerta quando 2,5% das 25 solicitações anteriores tiverem resultado em erros.
5. Coleta de lixo
A coleta de lixo (GC) pode melhorar o desempenho identificando e eliminando o uso pesado de memória contínuo de Java ou outras linguagens. A boa notícia é que a automação de GC recupera a memória dedicada a objetos ou dados não utilizados ou redundantes que não estão mais sendo usados por uma aplicação. Objetos ou dados não utilizados são excluídos e objetos ativos são copiados para um pool de memória de geração posterior. Essa é uma métrica que você deve manter no meio. Se a GC for executado com muita frequência, poderá exigir muita sobrecarga; mas se a GC não for executado com frequência suficiente, seu sistema poderá ficar com pouca memória.
6. Número de instâncias
O rastreamento de instâncias permite que você escale a aplicação para atender à demanda real do usuário, com base em quantas instâncias de aplicativo ou de servidor estão em execução a qualquer momento. Isso pode ser especialmente importante para aplicações na nuvem. O auto-scaling pode ajudar você a garantir que aplicações modernas se dimensionem para atender à demanda e economizar orçamento durante os horários de baixa. Isso também pode criar desafios de monitoramento de infraestrutura. Por exemplo, se o seu aplicativo escalar automaticamente com o uso da CPU, talvez você nunca veja o uso da CPU aumentar — em vez disso, você pode ver o número de instâncias do servidor aumentar muito, junto com sua conta de hospedagem.
7. Taxas de solicitação
Você pode medir o tráfego recebido por uma aplicação para identificar quaisquer reduções, aumentos significativos ou usuários coincidentes. Correlacionar as taxas de solicitação com outras métricas de desempenho das aplicações ajudará você a entender a escalabilidade de suas aplicações de software. O software APM também pode monitorar o tráfego para identificar anomalias. O monitoramento do usuário mostrando um aumento inesperado nas solicitações pode ser um ataque de denial-of-service (DoS). Um grande número de solicitações do mesmo usuário pode ser uma indicação de que a conta foi hackeada. Mesmo as solicitações excepcionalmente baixas podem ser ruins: a inatividade ou a ausência de tráfego pode significar uma falha em praticamente qualquer parte do seu sistema.
8. Tempos de resposta (também conhecidos como duração)
Ao acompanhar o tempo médio de resposta a uma solicitação, ou seja, quanto tempo uma aplicação leva para retornar uma solicitação de recursos, você pode avaliar o desempenho da aplicação. Essas solicitações podem abranger transações iniciadas por usuários finais, como uma solicitação para carregar uma página web, ou incluir solicitações internas de uma parte da sua aplicação para outra, como um processo ou microsserviço que solicita dados do disco ou da memória. O tempo de resposta total inclui o tempo de resposta do servidor (o tempo que o seu servidor leva para processar uma solicitação) mais a latência de rede (o tempo total que a solicitação leva para atravessar a rede).
Uma métrica relacionada é o tempo de carregamento da página, que mede o tempo que uma página da web leva para ser carregada em um navegador. O acompanhamento do tempo de carregamento da página permite que as ferramentas de monitoramento de desempenho das aplicações identifiquem os problemas que causam o carregamento lento de páginas e, em seguida, melhorem a experiência digital. Carregamentos lentos de páginas podem significar abandono de páginas e perda de negócios. As soluções de APM podem ser definidas para uma linha de base de desempenho para essa métrica e, em seguida, alertar você quando esse benchmark não for atingido.