A plataforma LoadView permite configurar testes de desempenho que podem ajudar a determinar o ponto de ruptura do aplicativo web, ou colocá-lo de outra maneira, o número de usuários simultâneos em que a degradação de desempenho ocorre ou o aplicativo pára de responder. Testes de estresse, ao contrário dos testes de carga que usam um nível pré-determinado de usuários simultâneos para medir o desempenho sob carga, aumenta lentamente o número de usuários simultâneos até que ocorra a degradação do desempenho do aplicativo web. Encontrar o ponto de ruptura do aplicativo web é importante por muitas razões, incluindo as seguintes:
- Como o sistema e o ambiente gerenciam a falha e a recuperação do sistema.
- Determine se é necessária alguma capacidade de hardware adicional ou infraestrutura.
- Observe métricas de desempenho, como I/O do disco, memória e uso da CPU, juntamente com outras métricas do servidor.
Determinando padrão de curva de carga e usuários simultâneos
Determinar o padrão da curva de carga para testes de carga e estresse é um aspecto fundamental da precisão do teste. Por exemplo, se você começar com muita carga desde o início, e o aplicativo responder com erros, isso não significa necessariamente que um nível de carga mais baixo possa ser manuseado com sucesso. No teste de carga, a carga é gerada por injetores de carga que simulam usuários simultâneos visitando no aplicativo de destino. Assim, um padrão de carga que é aumentado gradualmente com um número especificado de usuários simultâneos será a melhor escolha. Desta forma, você será capaz de determinar melhor o ponto onde falhas ou degradação ocorrem para remediar problemas de forma mais eficiente.
Outro fator é decidir sobre o número relevante de usuários concorrentes para simular durante o teste. Ferramentas de análise web, como o Google Analytics, podem ser a maneira mais preferível de calcular uma carga inicial realista, mas o que você deve fazer quando não tem dados de análise para começar? Leia nosso artigo da Base de Conhecimento para obter informações adicionais sobre o uso de análises web para determinar usuários simultâneos para um teste de desempenho.
LoadView: Configurando curvas de carga
A plataforma LoadView permite que você escolha entre várias curvas de carga, mas ao tentar encontrar o ponto de ruptura de seus aplicativos web, você não deseja executar um teste com usuários pré-definidos ou throughput. Por essas razões, a curva de passo de carga e a curva ajustável dinâmica são as opções preferidas de curva de carga sobre a curva de carga curva baseada em objetivo ao tentar entender o ponto de ruptura de um aplicativo.
Discutiremos a maneira mais simples de configurar seu cenário de teste de carga usando a Curva de Passo de Carga
Calculando a carga inicial
Para calcular a carga inicial para um teste de carga, primeiro considere o número de servidores web em uso, bem como o número de núcleos de CPU disponíveis. De acordo com os padrões do setor, 25 usuários simultâneos por núcleo de CPU devem ser o seu ponto de partida,mas é recomendável começar com um número 50% menor do que o ponto de partida calculado.
Ponto de partida = 25 x Número de núcleos de CPU
Número recomendado de usuários para começar = (25 x número de núcleos de CPU) x 50%
Por exemplo, vamos assumir que seu aplicativo web está sendo executado em um servidor web quad-core. O número de usuários simultâneos para começar seria calculado da seguinte forma:
Ponto de partida = 25 x 4 núcleos de CPU = 100 usuários simultâneos
Número recomendado de usuários para começar = (25 x 4 núcleos de CPU) x 50% = 50 usuários simultâneos
Para especificar o número de usuários para iniciar o teste, use o campo do Iniciar com etapa de cenário.
Configurando a curva de carga
Taxa de ramp-up
Recomenda-se aumentar a carga em 25% do valor do ponto de partida a cada etapa de ramp-up.
Para especificar o número de usuários para aumentar a carga por minuto, use o campo correspondente da etapa Raise By.
Para o exemplo descrito, temos a taxa de ramp-up igual a 25 usuários por minuto.
Duração do teste
A duração do teste depende da carga máxima que você deseja gerar. Recomenda-se elevar a carga a um valor de 5 a 10 vezes mais do que o ponto de partida, dependendo dos requisitos de desempenho da sua aplicação:
- Se você precisar aumentar a carga 5 vezes, defina 20 minutos como a duração do passo Raise By.
- Se você precisar aumentar a carga 10 vezes, defina 40 minutos como a duração do passo Raise By.
Em nosso exemplo, vamos executar o teste com um tempo de duração de 40 minutos, de modo que o número máximo de usuários virtuais será de cerca de 1.000 usuários.
Quando a curva de carga estiver definida, inicie o teste e verifique o relatório de teste para obter os resultados. Os relatórios incluirão um resumo, ou esboço, do teste e incluirão gráficos e gráficos de linha mostrando as alterações nos níveis de carga e nos tempos de resposta durante o teste. Outras seções dentro do relatório incluem o registro de sessões de teste e informações do dispositivo.
Leia nosso artigo da Base de Conhecimento de Relatórios de Teste de Carga para obter informações adicionais, detalhes e explicações dos relatórios de teste de carga.
Determinando o ponto de ruptura da aplicação da Web com relatórios
Vamos considerar um teste básico de carga HTTP com uma carga inicial de cinco usuários por minuto. Veja a curva de carga e os resultados dos testes correspondentes na imagem abaixo.
No exemplo acima, vemos um crescimento significativo no tempo de resposta e no número de erros no período, sombreados em amarelo, nos gráficos. Dependendo de seus requisitos, você pode considerar qualquer ponto durante este período como o “ponto de ruptura” do aplicativo web.
Por exemplo, se uma taxa de erro de mais de zero por cento for considerada crítica para o aplicativo, a primeira vez que erros aparecem (ou quando o servidor pára de responder) pode ser considerado o ponto de ruptura do aplicativo web. Ou, nos casos em que o tempo de resposta é crítico, o ponto de ruptura ocorre quando o tempo de resposta excede um limiar pré-determinado.
Teste de carga Aplicações web: práticas recomendadas
Executar testes de carga e estresse bem sucedidos não acontece sem planejamento e preparação atenciosos. A plataforma LoadView fornece aos engenheiros de desempenho todos os recursos necessários de infraestrutura de nuvem e teste de carga para ajudar a remover as complexidades e barreiras tradicionais, como ter que dedicar recursos para configurar um ambiente de teste separado e outras considerações demoradas que vêm com testes de carga no local.
Scripting Cenários de usuários reais
Uma das chaves para garantir resultados bem-sucedidos de testes de aplicativos web é criar cenários que combinem com a forma como seus usuários e clientes usam e se movem através de seus aplicativos web. O comportamento de correspondência é um elemento crítico ao iniciar o processo de testes de carga. Saiba mais sobre o EveryStep Web Recorder.
Usuários reais podem ser imprevisíveis, por isso tenha em mente que algum nível de imprevisibilidade e aleatoriedade serão necessários. Dentro da configuração de teste LoadView, você pode escolher entre perfis de comportamento do usuário ou criar configurações personalizadas para simular melhor o comportamento do usuário. Leia mais sobre a configuração de perfis de comportamento do usuário em nosso artigo da Base de Conhecimento.
Executando testes de várias regiões
Parte de garantir que você receba os melhores resultados de testes de carga e estresse é a capacidade de testar a partir dos locais onde seus usuários estão localizados. Seus aplicativos públicos estão disponíveis para qualquer pessoa, a qualquer momento, com uma conexão à Internet e um navegador. O LoadView fornece mais de 20 locais de rede global de nuvem (AWS e Azure) para configurar testes de carga e estresse. Seus testes também devem ser configurados para corresponder às regiões ou cidades onde a maior parte de seus usuários acessa seus aplicativos web.
Correspondência de dispositivos de usuário e condições de rede
A configuração e configuração de testes para combinar onde seus usuários estão localizados, juntamente com navegadores, dispositivos e conectividade de rede populares, como 2G/3G/4G, permitem que você ajuste melhor seus testes e obtenha melhor visão do desempenho no nível do dispositivo/navegador. A plataforma LoadView suporta mais de 40 navegadores/dispositivos desktop e móveis.
Linhas de base de desempenho
Embora seja necessário encontrar o ponto em que seus aplicativos web começam a se degradar, não deve ser a primeira coisa que você se deslocou para encontrar. Se você nunca realizou testes de carga em suas aplicações web antes, é recomendável executar cenários de teste de carga que correspondam aos seus níveis típicos de tráfego diário antes de se mudar para testes de estresse. Testes iniciais de carga em condições normais de tráfego podem descobrir algumas oportunidades de fazer melhorias em sua aplicação antes de executar testes de estresse em larga escala sob o tráfego máximo.
LoadView: Encontrando o ponto de quebra do aplicativo web
Com recursos como navegadores reais, o EveryStep Web Recorder e injetores de carga geo-distribuídos, o LoadView fornece não apenas engenheiros de desempenho, mas qualquer pessoa com a capacidade de criar scripts de teste rapidamente para cenários de usuários do mundo real e executar testes de carga e estresse contra esses scripts de aplicativos da Web para entender o desempenho de todo o mundo.