Teste de carga de seus aplicativos do Serviço de Aplicativo do Azure

Neste artigo, você aprenderá 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 o tráfego em grande escala do mundo real 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 você vai:

  • Verificar se todos os componentes do aplicativo, não apenas o aplicativo Web, podem lidar com a carga esperada.

  • Verificar se o aplicativo atende aos seus requisitos de desempenho e estabilidade.

  • Usar métricas de recurso de aplicativo e diagnóstico para identificar o gargalo de desempenho em todo o aplicativo.

  • Evitar a alocação excessiva de recursos de computação e reduzir as ineficiências de custo.

  • Detectar regressões de desempenho antecipadamente integrando o teste de carga no 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 do Apache JMeter (arquivo JMX)

Depois de criar e executar um teste de carga, você pode monitorar as métricas de recurso do 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 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 do ponto de extremidade pré-preenchido.

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 fazendo carregamento de 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 do Apache JMeter. Use a abordagem nos seguintes cenários:

  • Testar 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 patters de carga mais avançados
  • Reutilizar scripts JMeter existentes

Introdução crie um teste de carga fazendo carregamento de um script JMeter.

Se você criou anteriormente um teste baseado em URL, o Teste de Carga do Azure gerará um script de teste JMeter. Você pode baixar esse script de teste gerado, modificá-lo ou estendê-lo e recarregar o script.

## 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 o percentual de erro. Essas métricas fornecem uma indicação geral se o aplicativo pode dar suporte à carga de usuário simulada.

  • Métricas do lado do servidor: métricas de recurso dos componentes do aplicativo do Azure, como porcentagem de CPU do plano do serviço de aplicativo, códigos de resposta HTTP ou uso de recursos de banco de dados.

Use o painel do 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 têm o tamanho certo para sua carga de trabalho.

Captura de tela que mostra o painel de resultados do teste no portal do Azure.

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 insights extras 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 o recurso do serviço de aplicativo.

Captura de tela mostrando a seção “Serviço de Aplicativo” no painel de teste de carga do portal do Azure.

Personalizar os critérios de falha do teste de carga

Os critérios de falha de teste permitem que você configure 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 os critérios de falha para o teste de carga.

Por exemplo, você pode especificar que o tempo médio de resposta das solicitações ou que o percentual de solicitações com falha esteja acima de um determinado limite. Você pode adicionar critérios de falha ao teste de carga a qualquer momento, independentemente de ser um teste rápido ou de você ter carregado 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 um build de aplicativo.

Captura de tela que mostra a página de critérios de teste para um teste de carga no portal do Azure.

Usar parâmetros para testar entre 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 é usar 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 configurações para o script de teste do JMeter. Por exemplo, você pode passar o número de usuários virtuais ou o nome do arquivo de entrada CSV para o script de teste.

Outro uso para parâmetros é quando você deseja reutilizar o 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 dinâmicos que possuem seus próprios nomes de host e URLs separadas. Use um parâmetro para o ponto de extremidade do aplicativo e, em seguida, você pode configurar ambientes de preparo para seu aplicativo.

Captura de tela que mostra a página Parâmetros de um teste rápido no portal do Azure, realçando os parâmetros para a URL de destino.

Próximas etapas

Saiba como: