Teste de tempo de resposta: como medir o desempenho da API

⚡ Resumo Inteligente

O teste de tempo de resposta mede quanto tempo um sistema leva para responder a uma solicitação, desde o momento em que um usuário a envia até o momento em que o aplicativo informa a conclusão. Este guia aborda as métricas, os três limites importantes e as ferramentas que as coletam.

  • ⏱️ Definição Essencial: O tempo de resposta abrange todo o processo, desde o envio da solicitação até a conclusão do processo.
  • 📊 Três métricas: O tempo médio de resposta, o tempo máximo de resposta e a taxa de erro, em conjunto, descrevem o comportamento do sistema.
  • 🟢 0.1 segundo: A sensação é de instantaneamente conectado, sem qualquer interrupção perceptível para o usuário.
  • 🟡 1 segundo: O limite superior para um fluxo de pensamento ininterrupto.
  • ???? 10 segundos: O limite da atenção, embora na prática os usuários desistam bem antes disso.
  • 🧪 Método de medição: Encapsule um processo de negócios em transações de início e fim dentro de uma ferramenta de teste de carga.

Teste de tempo de resposta

O que é teste de tempo de resposta?

Teste de tempo de resposta Mede o tempo que um nó do sistema leva para responder à solicitação de outro. É o intervalo entre a chegada de uma solicitação e a conclusão do processo correspondente. Por exemplo, você tem uma API e deseja saber exatamente quanto tempo leva para executá-la e retornar dados em JSON. O Tempo de Resposta mede a resposta do servidor para cada transação ou consulta.

O tempo de resposta começa quando um usuário envia uma solicitação e termina no momento em que o aplicativo declara que a solicitação foi concluída.

Como medir o tempo de resposta

Para medir o tempo de resposta, podemos usar ferramentas de teste envolvendo um importante processo de negócios com transações iniciais e finais. Um processo de negócios pode ser uma ação ou um conjunto de ações que os usuários executam no aplicativo para concluir uma tarefa de negócios, como fazer login no aplicativo ou comprar um livro sobre o assunto. Amazon.com

Teste de tempo de resposta
Teste de tempo de resposta

Para o mesmo processo de medição do tempo de resposta de uma API, a resposta variará ligeiramente de ferramenta para ferramenta. Aqui está o porquê

  • Passo 1) Método de cálculo de métricas coletadas por cada ferramenta de teste de tempo de resposta da API
  • Passo 2) Ferramentas Simulam a velocidade de carga e captura que podem fazer a diferença no tempo de resposta
  • Passo 3) Itens extras registrados ao monitorar cargas de usuários
  • Passo 4) A computação das métricas coletadas por cada ferramenta aumenta o tempo de resposta devido ao alto consumo de recursos.
  • Passo 5) A arquitetura das duas ferramentas pode ser diferente

Tipos de métricas de resposta

Métricas de tempo de resposta Explicação
Tempo Médio de Resposta O Tempo Médio de Resposta é o tempo médio gasto para cada solicitação de ida e volta. O Tempo Médio de Resposta inclui o tempo de carregamento de HTML, CSS, XML, imagens, JavaArquivos de script, etc. Portanto, a média é afetada quando componentes lentos estão presentes no sistema.
Tempo de resposta de pico O Peak Response Time nos ajuda a encontrar componentes potencialmente problemáticos. Ajuda-nos a encontrar todas as irregularidades no site ou sistema onde um determinado pedido não é tratado corretamente. Por exemplo, pode ser executada uma grande consulta ao banco de dados que pode afetar o tempo de resposta. Esta consulta não permite que a página carregue no horário desejado.
Taxa de erro A taxa de erro é um cálculo matemático que exibe a porcentagem de solicitações problemáticas em relação ao total de solicitações. Essa porcentagem contabiliza todos os códigos de status HTTP que indicam um erro no servidor, incluindo também as solicitações que expiram.

Três Limiares de Tempo de Resposta que Importam

Em qualquer relatório de tempo de resposta, dois números são cruciais:

  • Tempo médio de resposta
  • Tempo de resposta máximo, ou de pico

Juntos, eles mostram quanto tempo um usuário normalmente espera e quanto tempo o usuário menos afortunado espera.

A seguir estão os principais valores de exemplo de teste de tempo de resposta

Tempo de Resposta Significado
Segundo 0.1 É o tempo de resposta preferido. Se o tempo de resposta for 0.1, os usuários sempre sentirão que o aplicativo ou sistema está respondendo instantaneamente e não sentirão nenhuma interrupção.
Segundo 1.0 Este é o limite máximo aceitável para uma experiência ininterrupta. É improvável que os usuários percebam qualquer interrupção, embora possam experimentar algum atraso. Um tempo de resposta superior a 1 segundo pode interromper a experiência do usuário.
10 segundos É um limite máximo após o qual o tempo de resposta ultrapassa o limite aceitável. Porém, nos dias de hoje, se o tempo de resposta ultrapassar 6 segundos, o usuário sairá do site ou encerrará o aplicativo.

Procure manter o tempo de resposta entre 0.1 e 1 segundo sempre que possível. Os usuários se adaptam a sistemas mais lentos, mas a satisfação cai drasticamente após cerca de 2 segundos, e cada segundo adicional aumenta o abandono do sistema.

Ferramentas de teste de tempo de resposta

Existem muitas ferramentas disponíveis para teste de tempo de resposta. Duas das mais utilizadas são:

1) JMeter

Apache JMeter é uma ferramenta de teste de carga de código aberto. Ele foi projetado para medir o desempenho de sites. Esta ferramenta de teste de carga pode ser usada na metodologia DevOps.

JMeter

Características:

  • JMeter permite realizar testes de carga e desempenho para vários tipos de servidores.
  • Esta ferramenta de teste de carga armazena seus planos de teste em formato XML que permite aos usuários gerar o plano de teste usando um editor de texto.
  • A ferramenta pode ser usada para realizar tarefas automatizadas e teste funcional das aplicações.

Link para download: Apache JMeter de downloads


2) Corredor de carga

Loadrunner O LoadTest da Micro Focus é uma ferramenta de teste de carga amplamente utilizada. É uma das melhores alternativas para... JMeter que oferece uma interface amigável de monitoramento e análise com tabelas e gráficos coloridos.

Corredor de carga

Características:

  • Suporta testes contínuos
  • LoadRunner pode funcionar efetivamente em vários ambientes corporativos
  • É possível executar vários scripts de protocolo com Loadrunner
  • Integração com diversas ferramentas de desenvolvimento como Visual Studio, Jenkins, Selenium, etc.

Link para download: LoadRunner Profissional

Como este teste se encaixa na família de testes de desempenho

Teste de desempenho é um termo genérico. As variantes abaixo diferem apenas na forma da carga aplicada e na duração em que ela é mantida, razão pela qual são frequentemente confundidas umas com as outras.

Tipo de teste Padrão de carregamento Pergunta que responde
Teste de carga Pico de carga esperado, curta duração O sistema atinge suas metas em condições normais de pico de tráfego?
Teste de estresse Aumentou além da capacidade até a falha. Onde ocorre a falha, e ela é resolvida de forma elegante?
teste de pico Aumento repentino e extremo, seguido de retirada. Será que sobrevive e se recupera de um choque de tráfego?
Teste de resistência Carga normal mantida por muitas horas O desempenho se deteriora com o tempo?
teste de imersão Carga sustentada por um período prolongado Há vazamentos de memória ou esgotamento de recursos?
Teste de estabilidade Carga variável em diferentes condições O sistema mantém sua confiabilidade mesmo com a mudança das condições?
teste de volume Usuários normais, volume de dados muito grande Será que ele consegue lidar com o crescimento da base de dados?

Os testes de resistência e de imersão são frequentemente tratados como sinônimos. Em termos comuns, ambos os testes são usados ​​para avaliar a capacidade de suportar uma carga constante por um longo período. Quando as equipes os distinguem, o teste de resistência se concentra em verificar se os tempos de resposta aumentam, enquanto o teste de carga se concentra no consumo de recursos, como memória, arquivos e conexões. Executar um deles geralmente fornece evidências para ambos.

Teste de tempo de resposta: principais conclusões

  • O tempo de resposta é o tempo que um nó do sistema leva para responder à solicitação de outro.
  • O tempo médio de resposta em teste de performance é o tempo médio gasto para cada solicitação de ida e volta.
  • O tempo de resposta máximo revela quais componentes são potencialmente problemáticos.
  • A Taxa de Erros é um cálculo matemático que exibe a porcentagem de solicitações de problemas.
  • Três valores cruciais de tempo de resposta são: 0.1 segundos, 1.0 segundos e 10 segundos.
  • Duas das ferramentas de teste de tempo de resposta mais utilizadas são JMeter e LoadRunner.

Perguntas Frequentes

Latência é o tempo que uma requisição leva para percorrer a rede. O tempo de resposta inclui a latência, além de todo o processamento e renderização realizados pelo servidor. Uma rede rápida ainda pode apresentar tempos de resposta ruins se o servidor for lento.

A média esconde os valores discrepantes. Um sistema com média de 800 ms e percentil 95 de 9 segundos falha com um usuário em cada vinte, e somente o percentil revela isso.

Procure manter um tempo de carregamento inferior a 1 segundo para ações interativas e inferior a 2 segundos para carregamento completo da página. Após 3 segundos, o abandono aumenta drasticamente, independentemente do que o limite teórico de 10 segundos sugira.

O monitoramento baseado em IA estabelece uma linha de base normal para cada ponto de extremidade e sinaliza desvios automaticamente, substituindo os limites fixos que geram ruído durante os picos de tráfego esperados.

Sim. Modelos treinados com base em execuções de desempenho históricas podem sinalizar quais alterações de código provavelmente irão tornar um endpoint mais lento. Confirme cada previsão com uma execução real e medida.

Resuma esta postagem com: