Teste de carga seus aplicativos do Serviço de Aplicativo do Azure
Neste artigo, você aprenderá sobre como o Teste de Carga do Azure pode ser usado para testar aplicativos hospedados no Serviço de Aplicativo do Azure. O Serviço de Aplicativo do Azure é um serviço totalmente gerenciado que permite criar, implantar e dimensionar aplicativos Web e APIs na nuvem.
Com o Teste de Carga do Azure, você pode simular tráfego real e em grande escala para seu aplicativo e serviços. Embora o Serviço de Aplicativo do Azure possa ser dimensionado automaticamente, ao executar testes de carga com o Teste de Carga do Azure, você experimentará maior confiabilidade, desempenho e otimização de custos e:
Certifique-se de que todos os componentes do aplicativo, não apenas o aplicativo Web, possam lidar com a carga esperada.
Verifique se o aplicativo atende aos seus requisitos de desempenho e estabilidade.
Use métricas e diagnósticos de recursos do aplicativo para identificar gargalos de desempenho em todo o aplicativo.
Evite a alocação excessiva de recursos de computação e reduza as ineficiências de custos.
Detete regressões de desempenho antecipadamente integrando o teste de carga em seu pipeline de CI/CD e especificando critérios de falha de teste.
Simulação de tráfego com testes de carga
Você pode criar um teste de carga para simular o tráfego para seu aplicativo no Serviço de Aplicativo do Azure. O Teste de Carga do Azure fornece duas opções para criar um teste de carga:
- Criar um teste rápido baseado em URL
- Usar um script Apache JMeter (arquivo JMX)
Depois de criar e executar um teste de carga, você pode monitorar as métricas de recursos para o aplicativo Web e todos os componentes dependentes do Azure para identificar problemas de desempenho e escalabilidade.
Criar um teste de carga baseado em URL
Você pode criar um teste de carga baseado em URL diretamente do seu aplicativo Web do Serviço de Aplicativo do Azure no portal do Azure. Ao criar o teste de carga, você pode selecionar um slot de implantação específico e usar a URL de ponto de extremidade pré-preenchida.
A captura de tela a seguir mostra como criar um teste de carga baseado em URL no portal do Azure.
Comece criando um teste de carga baseado em URL para o Serviço de Aplicativo do Azure.
Criar um teste de carga carregando um script JMeter
O Teste de Carga do Azure fornece suporte de alta fidelidade ao JMeter. Você pode criar um novo teste de carga carregando um script Apache JMeter. Você pode usar essa abordagem nos seguintes cenários:
- Teste várias páginas ou pontos de extremidade em um único teste
- Testar pontos de extremidade autenticados
- Passar parâmetros para o teste de carga, como variáveis de ambiente ou segredos
- Testar pontos de extremidade não baseados em HTTP, como conexões de banco de dados
- Configurar padrões de carga mais avançados
- Reutilizar scripts JMeter existentes
Comece a criar um teste de carga carregando um script JMeter.
Se você criou anteriormente um teste baseado em URL, o Teste de Carga do Azure gera um script de teste JMeter. Você pode baixar esse script de teste gerado, modificá-lo ou estendê-lo e, em seguida, recarregá-lo.
Monitore seus aplicativos em busca de gargalos e problemas de provisionamento
Durante um teste de carga, o Teste de Carga do Azure coleta métricas sobre a execução do teste:
Métricas do lado do cliente: métricas do mecanismo de teste, como o tempo de resposta de ponta a ponta, o número de solicitações por segundo ou a porcentagem de erro. Essas métricas fornecem uma indicação geral se o aplicativo pode suportar a carga de usuário simulada.
Métricas do lado do servidor: métricas de recursos dos componentes do aplicativo do Azure, como porcentagem de CPU do plano de serviço de aplicativo, códigos de resposta HTTP ou uso de recursos de banco de dados.
Use o painel Teste de Carga do Azure para analisar as métricas de execução de teste e identificar gargalos de desempenho em seu aplicativo ou descobrir se você provisionou demais alguns recursos de computação. Por exemplo, você pode avaliar se as instâncias do plano de serviço estão no tamanho certo para sua carga de trabalho.
Saiba mais sobre como monitorar métricas do lado do servidor no Teste de Carga do Azure.
Para aplicativos hospedados no Serviço de Aplicativo do Azure, você pode usar o diagnóstico do Serviço de Aplicativo para obter informações adicionais sobre o desempenho e a integridade do aplicativo. Quando você adiciona um componente de aplicativo do serviço de aplicativo à sua configuração de teste de carga, o painel de teste de carga fornece um link direto para o painel de diagnóstico do Serviço de Aplicativo para seu recurso do Serviço de Aplicativo.
Personalize os critérios de falha do teste de carga
Os critérios de falha de teste permitem configurar condições para métricas do lado do cliente de teste de carga. Se uma execução de teste de carga não atender a essas condições, o teste será considerado como falha. Comece a configurar critérios de falha para seu teste de carga.
Por exemplo, você pode especificar que o tempo médio de resposta das solicitações ou que a porcentagem de solicitações com falha esteja acima de um determinado limite. Você pode adicionar critérios de reprovação ao seu teste de carga a qualquer momento, independentemente de ser um teste rápido ou se você carregou um script JMeter.
Ao executar testes de carga como parte do pipeline de CI/CD, você pode usar critérios de falha de teste para identificar regressões de desempenho com uma compilação de aplicativo.
Usar parâmetros para testar em slots de implantação
Ao configurar um teste de carga, você pode especificar parâmetros para passar variáveis de ambiente ou segredos para o script de teste de carga. Esses parâmetros tornam o script de teste reutilizável e reconfigurável. Saiba como usar parâmetros para passar variáveis de ambiente para um teste de carga.
Um exemplo é o uso de um parâmetro como uma variável de ambiente para que você possa evitar armazenar a URL do ponto de extremidade do aplicativo no script de teste. Você também pode usar variáveis de ambiente para passar outras definições de configuração para o script de teste JMeter. Por exemplo, você pode passar o número de usuários virtuais ou o nome de arquivo de um arquivo de entrada CSV para o script de teste.
Outro uso para parâmetros é quando você deseja reutilizar seu script de teste em vários slots de implantação do Serviço de Aplicativo do Azure. Os slots de implantação são aplicativos ativos com seus próprios nomes de host e URLs separados. Use um parâmetro para o ponto de extremidade do aplicativo e, em seguida, você pode configurar ambientes de preparo para seu aplicativo.
Próximos passos
Aprenda a:
- Crie um teste de carga baseado em URL para o Serviço de Aplicativo do Azure.
- Configure testes de desempenho automatizados.
- Identifique gargalos de desempenho para aplicativos do Azure.