O teste de carga é uma das formas mais cruciais de teste de desempenho. Seu principal objetivo é entender como um sistema se comporta sob uma carga prevista. Aplicativos web de mau desempenho podem prejudicar seu negócio, receita, taxa de conversão, taxa de rejeição e reputação. Entender as horas mais movimentadas ou prazos para o seu negócio, e preparar-se para esse tipo de carga em seu sistema enquanto automatiza todo o processo pode ser complicado. Para satisfazer essa exigência não funcional de atender usuários, seu site, aplicativos, serviços web ou APIs em menos de poucos segundos, é essencial para aumentar a taxa de conversão enquanto reduz as taxas de abandono. Testar seu sistema sob um grande número de usuários concorrentes e investigar o ponto de ruptura, ou gargalo, (CPU, alocação de memória ou rede), do software e do hardware em que está instalado, dá às empresas uma grande visão para melhorar seus tempos de saque. Os testes de carga nem sempre precisam ser iniciadas após a versão mínima do produto viável. Se iniciado em um módulo ou base de função nos primeiros tempos de desenvolvimento, ele tem muito a oferecer em termos de diminuir os riscos antes do lançamento.

 

Teste de carga para diferentes interfaces web

Ferramentas como pagespeed ou ferramentas de desenvolvedor podem fornecer uma visão limitada sobre como seu site se comporta para uma solicitação específica. A plataforma LoadView é um excelente recurso em sua caixa de ferramentas para entender onde existem gargalos para que você possa corrigi-los rapidamente.

 

Sites de teste de carga

teste de carga do site loadview

Esta opção é adequada para testar uma única página da Web para usuários simultâneos. O campo URL é a página da Web que será testada de carga. Diferentes tipos de navegador podem ser selecionados (Chrome, Firefox, Internet Explorer para desktop – iOS, Android, Windows Phone e Blackberry para celular).

 

Teste de carga Aplicações web

Usuários simultâneos realizando uma série de ações roteirizadas no Chrome. Usando essa opção, os aplicativos web podem ser testados para criar scripts pré-gravados e alimentar este script para carregar o teste do aplicativo.

aplicativos web de teste de carga de loadview

Por exemplo, uma funcionalidade de checkout de cesta de comércio eletrônico pode ser facilmente testada usando um script pré-gravado. Os passos que você precisa tomar são os seguintes:

1) Digite uma URL inicial (página inicial, página do produto, página de resultado de pesquisa, etc.)

2) Tipo de dispositivo de usuário (móvel ou desktop)

3.a) Se for um dispositivo de desktop, o tipo de navegador deve ser selecionado (Internet explorer, chrome)

3.b) Se for um dispositivo móvel, o tipo de dispositivo deve ser escolhido (a partir de uma grande variedade de dispositivos móveis)

4) Resolução para registro (para modos de dispositivo móvel, paisagem ou retrato estão disponíveis)

Com todos os campos necessários inseridos, clicar no botão gravar agora inicia a sessão de gravação. Ele navega até a URL inicial e permite que você interaja com o site. A partir de agora, você pode simular o comportamento do usuário, como encontrar um produto do site, adicioná-lo à cesta e proceder à página de checkout.

Depois de todos os passos desejados serem simulados, clicar em parar pausa o script.

gravação de loadview foi interrompida

Você pode continuar gravando o script de onde parou usando o botão “continuar gravando” ou salvar o script clicando em reprodução agora. Como a captura de tela indica, os scripts gravados devem ser reproduzidos pelo menos uma vez para verificar se há algum antes de salvar. Depois de reproduzir o roteiro gravado uma vez, um popup indica que tudo está no lugar, e as interações que foram salvas como um script foram reproduzidas com sucesso. Portanto, podemos proceder para salvá-lo.

As configurações de gravação do script são salvas e agora podemos mudar para configurações adicionais do dispositivo.

script gravado loadview

Aqui você pode configurar várias configurações adicionais para o seu dispositivo.

configurações de visão de carga

Tempo limite de conclusão: se o script ficar preso em algum lugar do plano de execução, uma quantidade fixa de tempo limite de conclusão permitirá que seu script lance um erro.

Abortar script no primeiro erro: se esta opção estiver definida como sim, o script se abortará no primeiro erro. Caso contrário, tentará novamente o passo que não conseguiu cumprir.

Opções DNS: usando esta opção, você pode criar nome de domínio personalizado — mapeamentos IP, o que é ótimo para testar código em desenvolvimento.

 

APIs de teste de carga

Semelhante à opção do site, há um campo de URL, onde você deve inserir o ponto final da API que será testada em carga. HTTP ou HTTPS podem ser selecionados para o protocolo.

apis de visão de carga

 

Configurações adicionais do dispositivo para testes de carga de API:

configurações do dispositivo de apis de revisão de carga

 

1. Tempo limite de conclusão: Se a solicitação demorar mais do que a quantidade inserida de segundos, ela irá jogar um erro.

2. Tipo de solicitação: Todos os métodos de solicitação http podem ser testados(GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS,TRACE,PATCH)

3. Verificação de SSL/Certificado. Para uma tarefa HTTP, várias opções SSL estão disponíveis:

3a. Autoridade:se o certificado raiz é confiável ou não

3b. Nome Comum (CN): verifica ou não as correspondências de nome comum da URL e do certificado

3c. Data: verifica a data de validade do certificado

3d. Revogação: verifica se a cadeia SSL tem um certificado revogado ou não.

3e. Uso: verifica se há um uso inadequado de um certificado intermediário

3f. Os certificados do cliente podem ser instalados em um agente de monitoramento.

4. Validação de conteúdo: O conteúdo pode ser pesquisado por palavras-chave específicas e ser configurado para jogar um erro se as especificações necessárias não forem atendidas. Muitas palavras-chave podem ser agrupadas usando operadores lógicos: {[«palavra-chave1» & palavra-chave2) | !« palavra-chave3»]}

5. Autenticação básica: Nome de usuário e autenticação baseada em senha

6. Cabeçalhos: Os cabeçalhos personalizados podem ser definidos para a solicitação de API. (Nome do cabeçalho = valor)

7. Opções DNS: Atribua nomes de host personalizados a IPs específicos usando a opção DNS.

 

Serviços de SABÃO de teste de carga

Usando este dispositivo, você pode carregar serviços web baseados em XML. Campos de entrada semelhantes como o dispositivo REST API estão presentes.

URL: Url do serviço SOAP.

Ação SOAP: Este campo pode ser usado para indicar a intenção da solicitação. A sequência vazia “” é traduzida como a intenção da mensagem SOAP é dada pelo URI. Nenhum valor é traduzido como nenhuma intenção para a solicitação.

Autenticação Básica: Nome de usuário e autenticação baseada em senha para o serviço web SOAP.

Cabeçalhos: Os cabeçalhos personalizados podem ser enviados usando o par de valor de chave.

Validação de conteúdo: O conteúdo pode ser pesquisado usando palavras-chave.

Opções de DNS:

1. Cache do dispositivo: O cache do dispositivo será usado para a resolução de DNS. Essas informações de cache são recuperadas da tarefa anterior.

2. Não em cache: Cada execução irá investigar os servidores DNS.

3. TTL armazenado em cache: Se o cache do dispositivo estiver faltando o endereço necessário, o servidor DNS local será usado.

4. Servidor DNS externo: O endereço IP dado será tratado como um servidor DNS.

 

Configuração de testes de carga

O LoadView oferece três maneiras diferentes de definir a curva de carga que seu sistema encontrará. Essas diferentes opções fornecem uma grande capacidade de personalização para vários casos de uso complexos para experimentar.

curvas de carga de visão de carga

 

Curva de passo de carga

As curvas de passo de carga são ótimas para testes para a quantidade bruta de usuários. Você pode aumentar, diminuir ou segurar para um número de usuários para a quantidade desejada de minutos.

Curva baseada em metas

Em vez de definir o número predeterminado de usuários simultâneos, uma curva baseada em metas ajuda a definir o número de usuários para atingir um valor de transação/meta por minuto. Essas transações podem ser geração de leads, pedidos de cesta, ações de inscrição, etc.

curva baseada em metas

 

Curva ajustável dinâmica

Ao definir um ponto de partida e um valor máximo, você pode mover-se entre números de usuários simultâneos enquanto seu teste estiver sendo executado. Isso é o mesmo que desenhar um gráfico usando uma ferramenta à mão livre. A opção de curva ajustável dinâmica até responde aos casos de uso mais complexos e aos picos de carga que esses estados podem incorrer.

curva ajustável dinâmica de visão de carga

 

Carga útil do injetor

Esta configuração decide o número de usuários por injetor de carga. O número recomendado pode ser definido usando o botão calibrar.

carga de carga útil do injetor

 

Distribuição geográfica do injetor de carga

Diferentes geolocalizações podem ser definidas para diferentes injetores de carga. Isso ajuda a testar seu sistema usando diferentes solicitações de vários locais. A plataforma LoadView permite que você escolha entre mais de 15 locais em todo o mundo.

distribuição geográfica do injetor de carga

 

Entendendo os resultados dos testes de desempenho

A partir da seção relatórios, podem ser encontradas informações gráficas extras sobre o teste de carga.

No gráfico do plano de execução, você pode investigar se o teste de carga foi executado como esperado ou não. Por exemplo, no gráfico acima, após a marca de 30 segundos a 1 minuto, podemos ver que o número real de usuários não poderia atingir nove usuários por algum motivo. O número máximo de usuários foi alcançado após a marca de 4 minutos e 30 segundos.

Plano de Execução

plano de execução

 

O gráfico de tempo de resposta médio é ótimo para entender como seu sistema se comporta sob cargas diferentes. Neste teste, podemos ver que o tempo de resposta do sistema testado aumentou drasticamente na marca de 0-30 segundos. ( ~50 segundos, indica um gargalo) Após o primeiro pico de tempo médio de resposta foi em torno de 10 segundos, o que é bastante lento para as expectativas dos usuários hoje (todos os sites devem mirar menos de 2 segundos para a taxa mínima de rejeição e taxa máxima de conversão).

Tempo médio de resposta

tempo médio de resposta

Contagem de sessões cumulativas

Contagem cumulativa de sessão ao longo do curso de teste de carga. Do gráfico acima, o número total de sessões que o sistema pode lidar pode ser deduzido. Neste caso, após 150-200 sessões, algumas novas sessões não puderam começar e lançaram um erro.

contagem de sessões cumulativas

 

Servidor de referência

Na guia Relatório de sessão, você pode filtrar as sessões para incluir apenas o injetor de carga de referência. Este injetor de carga de referência exclui o estresse de hardware (ele executa apenas um usuário virtual) durante a execução do teste para que você possa compará-lo com as versões pesadamente carregadas.

Relatório de sessão do LoadView

 

Depois de filtrar as sessões do injetor de carga de referência, você pode reproduzir o vídeo de execução para comparar os injetores de carga e o usuário de referência usando o botão de vídeo.

Servidor de referência do LoadView

 

Gráficos de Cachoeira

Finalmente, os gráficos de cachoeiras dão conhecimento aprofundado sobre sua interface web e gargalos. Por exemplo, um site consiste em solicitações de arquivos feitas ao servidor web (arquivos CSS, arquivos JavaScript, arquivos HTML, etc.). Usando o gráfico de cachoeira, podemos entender qual solicitação é o fator de bloqueio, aumentando a velocidade de carga. Eliminando o elemento de bloqueio, tornando as solicitações assíncronsas ou apenas carregando o CSS crítico primeiro, e então o resto do CSS depois pode diminuir o tempo de carga.

Entender esses fatores de bloqueio no estágio inicial de desenvolvimento ou lançamento pode economizar uma quantidade significativa de orçamento e tempo, resultando em uma melhor gestão de tráfego e capacidade. Para obter informações mais detalhadas sobre gráficos de cachoeiras, leia nosso artigo no blog sobre como otimizar o desempenho da Web entendendo gráficos de cachoeiras.

 

gráfico de cachoeira loadview

 

Conclusão: Visão geral do teste de carga e compreensão de relatórios e gráficos de cachoeira

Se o seu site ou aplicativo estiver sujeito a um contrato de nível de serviço (SLA), o teste de carga se torna uma obrigação para mostrar aos seus clientes que o software está pronto para a quantidade esperada de carga. Por exemplo, se você já tem uma meta de transação pré-determinada ou sabe (aproximadamente) o número de visitantes que você espera em seu site ou aplicativo durante um período de tempo específico, executar um teste de curva baseado em metas ajudará a confirmar que seu site ou aplicativo atende aos requisitos pré-definidos.

Além disso, gerar maior carga em sites ou aplicativos pode ajudar a prever o desempenho do aplicativo para uma carga de usuário mais pesada no futuro. Isso é normalmente feito para fins de planejamento de capacidade. Os resultados de seus testes de carga podem ajudá-lo a determinar os elementos individuais que precisam de atenção imediata. Além disso, o LoadView mantém seus resultados de teste anteriores para que eles possam ser usados como benchmarks contra novas métricas de desempenho depois de fazer alterações em seu site ou aplicativo.

Experimente o LoadView hoje! Cadastre-se e receba até 5 testes de carga gratuitamente!