Sergey Nivens - stock.adobe.com

10 métricas de desempenho de aplicativos e como medi-las

Você implantou seu aplicativo, e agora? Para manter seu aplicativo com bom desempenho, você precisa acompanhar várias métricas. Dê uma olhada nestes dez KPIs críticos.

As métricas de desempenho de aplicativos são importantes para decifrar até que ponto um aplicativo realmente ajuda os negócios que ele suporta e revelar onde são necessárias melhorias. A chave para o sucesso é acompanhar as métricas certas para seu aplicativo.

Essas métricas de desempenho de aplicativos, comumente conhecidas como indicadores-chave de desempenho (KPIs), são uma medida quantitativa da eficácia com que a organização atinge os objetivos de negócios. Capturar as métricas corretas fornecerá um relatório abrangente e insights poderosos sobre maneiras de melhorar seu aplicativo.

Abaixo estão 10 principais métricas de desempenho de aplicativos que os desenvolvedores devem acompanhar.

  1. Uso da CPU

O uso da CPU afeta a capacidade de resposta de um aplicativo. Picos altos no uso da CPU podem indicar vários problemas. Especificamente, isso sugere que o aplicativo está ocupado gastando tempo em computação, causando a degradação da capacidade de resposta de um aplicativo. Picos altos no uso devem ser considerados um bug de desempenho porque significa que a CPU atingiu seu limite de uso.

  1. Uso de memória

O uso de memória também é uma importante métrica de desempenho do aplicativo. O alto uso de memória indica alto consumo de recursos no servidor. Ao rastrear o uso de memória de um aplicativo, fique de olho no número de falhas de página e nos tempos de acesso ao disco. Se você alocou memória virtual inadequada, seu aplicativo está gastando mais tempo em thrashing do que qualquer outra coisa.

  1. Solicitações por minuto e bytes por solicitação

O rastreamento do número de solicitações que a API do seu aplicativo recebe por minuto pode ajudar a determinar o desempenho do servidor sob diferentes cargas. É igualmente importante rastrear a quantidade de dados que o aplicativo manipula durante cada solicitação. Pode ser que você descubra que o aplicativo recebe mais solicitações do que pode gerenciar ou que a quantidade de dados que ele é forçado a manipular está prejudicando o desempenho.

  1. Latência e tempo de atividade

A latência –geralmente medida em milissegundos– refere-se ao atraso entre a ação de um usuário em um aplicativo e a resposta do aplicativo a essa ação. A latência mais alta tem um efeito direto no tempo de carregamento de um aplicativo. Você deve aproveitar um serviço de ping para testar o tempo de atividade. Esses serviços podem ser configurados para serem executados em intervalos de tempo específicos para determinar se um aplicativo está funcionando.

  1. Exposição de segurança

Você deve garantir que seu aplicativo e seus dados estejam seguros. Determine quanto do aplicativo é coberto por técnicas de segurança e quanto é exposto e não seguro. Você também deve ter um plano para determinar quanto tempo leva –ou pode levar– para resolver certas vulnerabilidades de segurança.

  1. Satisfação do usuário/pontuações do Apdex

O Application Performance Index (Apdex) é um padrão aberto que mede os tempos de resposta dos aplicativos da Web comparando-os com um limite predefinido. É calculado como a razão entre os tempos de resposta satisfatórios e insatisfatórios. O tempo de resposta é o tempo necessário para que um ativo seja devolvido ao solicitante após ser solicitado.

Por exemplo: suponha que você tenha definido um limite de tempo de T. Portanto, todas as respostas concluídas em T ou menos tempo são consideradas como tendo satisfeito o usuário. Pelo contrário, as respostas que levaram mais de T segundos são consideradas insatisfeitas para o usuário.

A Apdex define três tipos de usuários com base na satisfação do usuário:

  1. Satisfeito. Essa classificação representa os usuários que tiveram uma capacidade de resposta satisfatória ou alta.
  2. Tolerante. Essa classificação representa usuários que experimentaram uma capacidade de resposta lenta, mas aceitável.
  3. Frustrado. Esta classificação representa os usuários que experimentaram uma capacidade de resposta inaceitável.

Você pode calcular a pontuação Apdex com a seguinte fórmula, onde SC indica contagem satisfeita, TC indica contagem tolerante, FC indica contagem frustrada e TS indica amostras totais:

Apdex = (SC + TC/2 + FC × 0)/TS

Supondo um conjunto de dados de 100 amostras, em que você definiu um objetivo de desempenho de 5 segundos ou melhor, suponha que 65 estejam abaixo de 5 segundos, 25 estejam entre 5 e 10 segundos e os 10 restantes estejam acima de 10 segundos. Com esses parâmetros, você pode determinar a pontuação do Apdex da seguinte forma:

Apdex = (65 + (25/2) + (10 × 0))/100 = 0.775

  1. Tempo médio de resposta

O tempo médio de resposta é calculado pela média dos tempos de resposta de todas as solicitações em um período de tempo especificado. Um tempo médio de resposta baixo implica em melhor desempenho, pois o aplicativo ou servidor levou menos tempo para responder a solicitações ou entradas.

O tempo médio de resposta é determinado pela divisão do tempo gasto para responder às solicitações em um determinado período de tempo pelo número total de respostas durante o mesmo período.

  1. Taxas de erro

Essa métrica de desempenho mede a porcentagem de solicitações com erros em comparação com o número total de solicitações em um determinado período. Qualquer pico nesse número indicará que você provavelmente encontrará uma grande falha em breve.

Você pode rastrear erros de aplicativos usando os seguintes indicadores:

  • Exceções registradas. Este indicador representa o número de erros não tratados e registrados.
  • Exceções lançadas. Este indicador representa o total de todas as exceções lançadas.
  • Porcentagem de erro HTTP. Este indicador representa o número de solicitações da web que não tiveram êxito e que retornaram erro.

Em essência, você pode aproveitar as taxas de erro para monitorar a frequência com que seu aplicativo falha em tempo real. Você também pode ficar de olho nessa métrica de desempenho para detectar e corrigir erros rapidamente, antes de se deparar com problemas que podem derrubar todo o site.

  1. Coleta de lixo

A coleta de lixo pode fazer com que seu aplicativo pare por um tempo quando o ciclo de GC estiver em andamento. Além disso, ele também pode usar muitos ciclos de CPU, portanto, é imperativo que você determine o desempenho da coleta de lixo em seu aplicativo.

Para quantificar o desempenho da coleta de lixo, você pode usar as seguintes métricas:

  • Alças de GC. Essa métrica conta o número total de referências de objeto criadas em um aplicativo.
  • Tempo percentual em GC. Esta é uma porcentagem do tempo decorrido na coleta de lixo desde o último ciclo de GC.
  • Tempo de pausa da coleta de lixo. Isso mede o tempo que todo o aplicativo pausa durante um ciclo de GC. Você pode reduzir o tempo de pausa limitando o número de objetos que precisam ser marcados –ou seja, objetos que são candidatos à coleta de lixo.
  • Rendimento da coleta de lixo. Isso mede a porcentagem do tempo total que o aplicativo não gastou na coleta de lixo.
  • Taxa de criação/recuperação de objetos. Essa é uma medida da taxa na qual as instâncias são criadas ou recuperadas em um aplicativo. Quanto maior a taxa de criação de objetos, mais frequentes serão os ciclos de GC, consequentemente aumentando a utilização da CPU.

KPIs para APIs

A análise e os relatórios de API são aspectos importantes do desenvolvimento de aplicativos, e as APIs têm seu próprio conjunto de KPIs que as equipes de desenvolvimento precisam acompanhar.

Alguns dos KPIs mais importantes para as APIs para prestar atenção incluem:

  • Contagem de uso. Isso indica o número de vezes que uma chamada de API é feita em um determinado período de tempo.
  • Solicitar latência. Isso indica a quantidade de tempo que uma API leva para processar as solicitações recebidas.
  • Tamanho do pedido. Isso indica o tamanho das cargas de solicitação de entrada.
  • Tamanho da resposta. Isso indica o tamanho das cargas de resposta de saída.
  1. Taxas de solicitação

A taxa de solicitação é uma métrica essencial que fornece insights sobre o aumento e a diminuição do tráfego experimentado pelo seu aplicativo. Em outras palavras, ele fornece insights sobre a inatividade e os picos de tráfego que seu aplicativo recebe. Você pode correlacionar as taxas de solicitação com outras métricas de desempenho do aplicativo para determinar como seu aplicativo pode ser dimensionado. Você também deve ficar de olho no número de usuários simultâneos em seu aplicativo.

Conclusão

Gerenciar e revisar as métricas do aplicativo transforma informações técnicas sem sentido em uma narrativa fácil de entender que revela a confiabilidade do sistema e fornece informações sobre a experiência do usuário.

Saiba mais sobre Desenvolvimento de software e aplicativos