Ao fazer testes de desempenho, é importante entender o termo “simultâneo” no que diz respeito a diferentes aspectos dentro dos testes de desempenho, e muitas vezes é mal compreendido, fazendo com que algumas medidas significativas sejam negligenciadas. Você já se perguntou como seu site está se saindo em dispositivos de usuário final? Ou como você planeja aumentar o tráfego do site? Ou até mesmo como resolver problemas do site que são aparentemente invisíveis, mas afetam seu negócio em geral? A resposta para essas perguntas é o teste de desempenho.

Os testes de desempenho existem desde sempre, mas evoluem com novas tecnologias todos os dias. Em sua essência, o teste de desempenho é feito simulando usuários reais para interagir com o site usando scripts. Esses dados de interação são então capturados e analisados para obter insights sobre diferentes aspectos do desempenho do site e do aplicativo, como tempo de resposta, acessibilidade, confiabilidade, tempo de atividade, uso de recursos e escalabilidade, etc. Testes de desempenho são feitos para garantir que o site esteja em um estado estável com critérios de desempenho e como melhorar e dimensionar quando a necessidade surgir. Mais importante, ele fornecerá dados úteis sobre como o sistema está funcionando sob cargas de trabalho projetadas. O teste de desempenho também revelará inconsistências, ineficiências e problemas de usabilidade quando várias solicitações forem feitas simultaneamente.

 

Problemas e métricas fundamentais de desempenho

Vamos dar uma olhada nos problemas de desempenho que você deve corrigir como um primeiro passo.

 

Tempo de carga

O tempo de carregamento do aplicativo é o tempo necessário para carregar totalmente seu site, aplicativo ou uma única página antes que o usuário possa executar qualquer ação. É fundamental, pois a cada segundo de atraso, os usuários se afastam do site, resultando em perda de receita.

 

tempo de resposta

O tempo de resposta refere-se à resposta do servidor a qualquer atividade ou transação do usuário. Mais tempo de resposta significa uma experiência frustrante para o usuário.

 

Utilização de recursos e gargalos

Seu site ou aplicativo deve estar utilizando recursos com eficiência, juntamente com alocação de recursos gerenciáveis quando há alto tráfego ou demanda pelos recursos. Qualquer recurso como CPU, memória, rede, etc., pode ser um gargalo em muitos cenários, resultando em bog down toda a aplicação.

 

escalabilidade

Seu site ou aplicativo deve ser capaz de lidar com o tráfego esperado durante a demanda regular ou em um evento especial. Se ele não conseguir sustentar a alta demanda, então entra em cena o problema de escalabilidade que deve ser analisado e corrigido usando testes de carga.

 

Cenários do mundo real

Além desses problemas fundamentais, existem muitos casos de uso específicos para os negócios que estão diretamente relacionados ao desempenho. Por exemplo, se você tem um aplicativo de negociação, melhorar a velocidade do site não é uma tarefa única, então você precisa estar reduzindo proativamente o tempo de resposta, mesmo que apenas alguns milissegundos possam fazer ou quebrar uma oportunidade, para evitar qualquer perda financeira tanto para sua empresa quanto para seus usuários.

A lista a seguir consiste em alguns parâmetros básicos que você precisa medir, monitorar e analisar durante o teste de desempenho:

  • tempo de resposta
  • A CPU interrompe por segundo
  • Comprimento da fila de saída da rede
  • Bytes de rede total por segundo
  • throughput
  • Sessões ativas máximas
  • Razões de acerto
  • Bloqueios de banco de dados
  • Coleta de lixo
  • Uso de CPU
  • Uso da memória
  • I/O do disco
  • Largura de banda da rede
  • Páginas de memória/segundo
  • Falhas de página/segundo
  • Benchmarks HTTP simultâneos
  • Concurrent Users

 

Conexões HTTP simultâneas vs. Navegadores Simultâneos vs. Usuários Simultâneos

 

Concurrent HTTP

O HTTP simultâneo refere-se às solicitações HTTP feitas a qualquer momento. Por exemplo, digamos que há 10.000 usuários com sessões válidas e 100 usuários estão solicitando ler o mesmo recurso sobre HTTP a qualquer momento, então temos 100 solicitações HTTP simultâneas.

 

Concurrent Browsers

Navegadores simultâneos referem-se ao número de navegadores com sessões válidas a qualquer momento. Eles podem enviar qualquer número de solicitações para o servidor a qualquer momento.

 

Concurrent Users

Os usuários simultâneos referem-se aos usuários com sessões válidas com o servidor realizando a mesma tarefa a qualquer momento.

Geralmente, as pessoas se confundem com usuários simultâneos e usuários simultâneos, pois ambos são usados de forma intercambiável, mas em testes de desempenho esses dois termos têm significados diferentes. Vamos dar uma olhada em um exemplo:

Suponha que haja 1.000 usuários diferentes com uma sessão válida com o servidor. Cada um desses usuários está realizando operações diferentes, como login, check-out, mensagens, compras, etc. Estes são chamados de usuários simultâneos, que são essencialmente o número de usuários com sessões válidas no servidor. Agora, pode acontecer que 100 desses 1000 usuários estejam realizando operações de checkout no mesmo momento. Então esses 100 usuários seriam usuários simultâneos. Usuários simultâneos são muitas vezes muito menos do que usuários simultâneos e ocorrem com pouca frequência.

 

Teste de carga: velocidade, escalabilidade e estabilidade

O teste de carga é um dos mais importantes testes de desempenho para testar o site/aplicativo sob alta carga de tráfego. Os dados coletados a partir deste teste são analisados e projetados para descobrir os problemas que podem ocorrer quando um alto número de usuários reais acessa seu site. É útil remover gargalos e otimizar transações, juntamente com o planejamento para escalabilidade futura da infraestrutura de sites/aplicativos. Vejamos alguns tipos básicos de teste de carga, como eles são diferentes e sua importância.

 

Teste de carga HTTP

O teste de carga HTTP geralmente é feito para identificar quantas solicitações HTTP simultâneas o servidor pode lidar. Também pode ser abordado como número máximo de solicitações por segundo. Em um nível granular, pode haver diferentes tipos de solicitações, como ler, escrever, locomubo, etc. Descobrir o limite para cada solicitação específica pode lhe dar mais informações sobre o que otimização e planejamento de recursos você precisa fazer. Por exemplo – o número de solicitações por segundo pode ser maior para uma leitura de solicitações HTTP, mas provavelmente muito menos para deslocamento de solicitações intensivas.

 

Teste de carga da página da Web

Um teste de carga de página web é feito para qualquer tempo de carregamento de uma única página. Por exemplo, se você tiver um site de comércio eletrônico, verifique o tempo de carregamento da página do produto individual, o tempo de carregamento da página do carrinho, o tempo de carregamento da página de checkout para aprimorar e melhorar a experiência do cliente. Se a carga da página do produto for boa, mas ignorar a otimização na página do carrinho, isso definitivamente resultaria em perda de vendas.

 

Teste de carga de aplicativos web

Um teste de carga de aplicativo web é feito para medir a primeira carga do seu aplicativo web. É diferente do tempo de carregamento da página onde você faz isso para todas as outras páginas individuais. Quando um aplicativo Web é iniciado, ele extrai recursos diferentes, inicia alguns serviços em todo o site, chama serviços de terceiros e assim por diante antes de finalmente carregar. Deve ser seu primeiro foco para otimizar o tempo de carga do aplicativo web para evitar agitação.

 

Pensamentos Finais: Navegadores CONCORRENTES HTTP vs. Simultâneos vs. Usuários Simultâneos

O teste de carga é uma necessidade que ajuda desenvolvedores e arquitetos na otimização e planejamento de recursos. Para aplicativos web que esperam pico de tráfego, torna-se ainda mais importante. Além dos testes de carga, também é importante monitorar regularmente seu site ou aplicativo para acessibilidade, velocidade e tempo de atividade de serviços de terceiros. Não se esqueça de carregar o teste e monitorar seu site ou aplicativo de diferentes geolocalizações para melhorá-lo ainda mais para os usuários, pois eles podem ter problemas de desempenho específicos derivados de sua localização. O uso de uma solução como o LoadView permite que você carregue facilmente todas as suas páginas da Web, aplicativos, serviços web, servidores e APIs, com centenas a milhares de conexões HTTP simultâneas ou navegadores.

Experimente a avaliação gratuita do LoadView e receba testes de carga gratuitos. Ou agende uma demonstração ao vivo com um de nossos engenheiros de desempenho para um passeio completo pela plataforma LoadView para ver todos os recursos e benefícios que a plataforma tem a oferecer!