Partilhar via


Definir critérios de falha para testes de carga usando o Teste de Carga do Azure

Neste artigo, você aprenderá a definir critérios de falha ou critérios de parada automática para seus testes de carga com o Teste de Carga do Azure. Os critérios de reprovação permitem definir expectativas de desempenho e qualidade para seu aplicativo sob carga. O Teste de Carga do Azure dá suporte a várias métricas de cliente e servidor para definir critérios de falha, como taxa de erro ou porcentagem de CPU para um recurso do Azure. Os critérios de paragem automática permitem-lhe parar automaticamente o teste de carga quando a taxa de erro ultrapassa um determinado limite.

Pré-requisitos

  • Uma conta do Azure com uma subscrição ativa. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Um recurso de teste de carga do Azure. Se você precisar criar um recurso de teste de carga do Azure, consulte o guia de início rápido Criar e executar um teste de carga.

Critérios de reprovação no teste de carga

Os critérios de reprovação no teste de carga são condições para métricas que seu teste deve atender. Você define critérios de teste no nível de teste de carga no Teste de Carga do Azure. Um teste de carga pode ter um ou mais critérios de teste. Quando pelo menos um dos critérios de teste é avaliado como verdadeiro, o teste de carga obtém o status de falha .

Você pode definir um máximo de 50 critérios de teste para um teste de carga. Se houver vários critérios para a mesma métrica, será usado o critério com o valor limite mais baixo.

Estrutura de critérios de falha para métricas de cliente

O formato dos critérios de falha no Teste de Carga do Azure segue o de uma instrução condicional para uma métrica com suporte. Por exemplo, certifique-se de que o número médio de pedidos por segundo é superior a 500.

Para métricas do lado do cliente, você pode definir critérios de teste em dois níveis. Um teste de carga pode combinar critérios nos diferentes níveis.

  • Ao nível do ensaio de carga. Por exemplo, para garantir que a percentagem de erro total não exceda um limite. A estrutura dos critérios é a seguinte: Aggregate_function (client_metric) condition threshold.
  • No nível de solicitação JMeter (amostrador JMeter). Por exemplo, você pode especificar um limite de tempo de resposta da solicitação getProducts , mas desconsiderar o tempo de resposta da solicitação de login . A estrutura dos critérios é a seguinte: Request: Aggregate_function (client_metric) condition threshold.

A tabela a seguir descreve os diferentes componentes:

Parâmetro Description
Client metric Obrigatório. A métrica do cliente na qual a condição deve ser aplicada.
Aggregate function Obrigatório. A função de agregação a ser aplicada na métrica do cliente.
Condition Obrigatório. O operador de comparação, como greater than, ou less than.
Threshold Obrigatório. O valor numérico a ser comparado com a métrica do cliente.
Request Opcional. Nome do amostrador no script JMeter ao qual o critério se aplica. Se você não especificar um nome de solicitação, o critério se aplicará à agregação de todas as solicitações no script.
Não inclua nenhum dado pessoal no nome do amostrador no script JMeter. Os nomes dos amostradores aparecem no painel de resultados do Teste de Carga do Azure.

Métricas de cliente suportadas para critérios de falha

O Teste de Carga do Azure dá suporte às seguintes métricas de cliente:

Métrica Função agregar Threshold Condição Description
response_time_ms avg (média)
min (mínimo)
max (máximo)
pxx (percentil), xx pode ser 50, 75, 90, 95, 96, 97, 98, 99, 999 e 9999
Valor inteiro, representando o número de milissegundos (ms). > (maior que)
< (menos que)
Tempo de resposta ou tempo decorrido, em milissegundos. Saiba mais sobre o tempo decorrido na documentação do Apache JMeter.
latency avg (média)
min (mínimo)
max (máximo)
pxx (percentil), xx pode ser 50, 90, 95, 99
Valor inteiro, representando o número de milissegundos (ms). > (maior que)
< (menos que)
Latência, em milissegundos. Saiba mais sobre latência na documentação do Apache JMeter.
error percentage Valor numérico no intervalo 0-100, representando uma percentagem. > (maior que) Percentagem de pedidos falhados.
requests_per_sec avg (média) Valor numérico com até duas casas decimais. > (maior que)
< (menos que)
Número de pedidos por segundo.
requests count Valor inteiro. > (maior que)
< (menos que)
Número total de pedidos.

Definir critérios de falha de teste de carga para métricas de cliente

Nesta seção, você configura critérios de teste para a métrica do cliente para um teste de carga no portal do Azure.

  1. No portal do Azure, vá para seu recurso de Teste de Carga do Azure.

  2. No painel esquerdo, selecione Testes para exibir a lista de testes de carga.

  3. Selecione o teste de carga na lista e, em seguida, selecione Editar.

    Captura de ecrã da lista de testes para um recurso de teste de carga do Azure no portal do Azure, realçando o botão 'Editar'.

  4. No painel Critérios de teste, preencha os valores Métrica, Função agregada, Condição e Limite para o teste.

    Captura de ecrã do painel 'Critérios de teste' para um teste de carga no portal do Azure e realça os campos para adicionar um critério de teste.

    Opcionalmente, insira as informações de nome da solicitação para adicionar um critério de teste para uma solicitação JMeter específica. O valor deve corresponder ao nome do amostrador JMeter no arquivo JMX.

    Captura de tela da interface do usuário do JMeter, destacando o nome da solicitação.

  5. Selecione Aplicar para salvar as alterações.

    Quando você executa o teste de carga, o Teste de Carga do Azure usa os critérios de teste para determinar o status da execução do teste de carga.

  6. Execute o teste e visualize o status no painel de teste de carga.

    O painel mostra cada um dos critérios de teste e seu status. O estado geral do teste é reprovado se pelo menos um critério foi cumprido.

    Captura de tela que mostra os critérios de teste no painel de teste de carga.

Componente do aplicativo do Access para critérios de teste em métricas do servidor

Quando você define critérios de falha em uma métrica no componente do aplicativo, o recurso de teste de carga usa uma identidade gerenciada para acessar esse componente. Depois de configurar a identidade gerenciada, você precisa conceder a identidade gerenciada de suas permissões de recurso de teste de carga para ler esses valores do componente do aplicativo.

Para conceder permissões de recurso de teste de carga do Azure para ler as métricas do componente do aplicativo:

  1. No portal do Azure, vá para o componente do seu aplicativo.

  2. No painel esquerdo, selecione Controle de Acesso (IAM), selecione + Adicionar e selecione Adicionar atribuição de função.

    Captura de tela do Controle de Acesso (IAM) no componente do aplicativo no qual os critérios de falha devem ser definidos.

  3. Na guia Função, em Funções de função, procure por Leitor de Monitoramento ou Colaborador de Monitoramento.

  4. Na guia Membros, em Atribuir acesso a, selecione Identidade gerenciada.

  5. Clique em Selecionar membros, pesquise e selecione a identidade gerenciada para o recurso de teste de carga e, em seguida, selecione Avançar. Se você estiver usando uma identidade gerenciada atribuída ao sistema, o nome da identidade gerenciada corresponderá ao do seu recurso de teste de carga do Azure.

  6. Selecione Rever + atribuir para atribuir a identidade à permissão.

    Captura de tela da atribuição de permissões para ler métricas ao recurso de teste de carga.

Quando o teste é executado, a identidade gerenciada associada ao recurso de teste de carga agora pode ler as métricas do teste de carga do componente do aplicativo.

Definir critérios de falha de teste de carga para métricas de servidor

Importante

O Teste de Carga do Azure não dá suporte à configuração de critérios de falha em métricas do lado do servidor das Ações do Azure Pipelines/GitHub.

Nesta seção, você configura critérios de falha de teste em métricas do lado do servidor para um teste de carga no portal do Azure.

  1. No portal do Azure, vá para seu recurso de Teste de Carga do Azure.

  2. Selecione Criar teste.

  3. Na guia Monitoramento, configure os componentes do aplicativo que você deseja monitorar durante o teste.

  4. Configure a identidade de referência de métricas. A identidade pode ser a identidade atribuída pelo sistema do recurso de teste de carga ou uma das identidades atribuídas pelo usuário. Certifique-se de usar a mesma identidade que concedeu acesso anteriormente.

    Captura de tela da configuração da identidade de referência de métricas.

  5. No painel Critérios de teste, preencha os valores ID do recurso, Namespace, Métrica, Agregação, Condição, Limite para o teste. Você pode definir critérios de falha somente para os recursos/componentes do aplicativo que você está monitorando durante o teste.

    Captura de tela da configuração de critérios de falha em métricas de servidor.

  6. Selecione Aplicar para salvar as alterações. Quando você executa o teste de carga, o Teste de Carga do Azure usa os critérios de teste para determinar o status da execução do teste de carga.

  7. Execute o teste e visualize o status no painel de teste de carga. O painel mostra cada um dos critérios de teste e seu status. O estado geral do teste é reprovado se pelo menos um critério foi cumprido.

    Captura de tela do painel exibindo resultados de teste.

Configuração de parada automática

O Teste de Carga do Azure interrompe automaticamente um teste de carga se a percentagem de erro exceder um determinado limite para uma determinada janela de tempo. A interrupção automática protege você contra falhas em testes que incorram em custos adicionais, por exemplo, devido a uma URL de ponto de extremidade configurada incorretamente.

Na configuração de teste de carga, você pode habilitar ou desabilitar a funcionalidade de parada automática e configurar o limite de porcentagem de erro e a janela de tempo. Por padrão, o Teste de Carga do Azure interrompe automaticamente um teste de carga que tenha uma porcentagem de erro de pelo menos 90% durante qualquer janela de tempo de 60 segundos.

Você pode usar a funcionalidade de parada automática do Teste de Carga do Azure em combinação com um ouvinte de AutoStop em seu script JMeter. O teste de carga para automaticamente quando um dos critérios na configuração de parada automática ou no ouvinte JMeter AutoStop é atendido.

Atenção

Se você desabilitar a parada automática para o teste de carga, poderá incorrer em custos mesmo quando o teste de carga estiver configurado incorretamente.

Para configurar a parada automática para seu teste de carga no portal do Azure:

  1. No portal do Azure, vá para seu recurso de Teste de Carga do Azure.

  2. No painel esquerdo, selecione Testes para exibir a lista de testes de carga.

  3. Selecione o teste de carga na lista e, em seguida, selecione Editar. Como alternativa, selecione Criar>upload de um script JMeter para criar um novo teste.

  4. Vá para a guia Critérios de teste para configurar a funcionalidade de parada automática.

    • Habilite ou desabilite a parada automática do teste de carga usando o controle de teste de parada automática.

    • Se ativar a paragem automática, pode preencher os campos Percentagem de erro e Janela Tempo. Especifique a janela de tempo em segundos.

      Captura de ecrã do painel 'Critérios de teste' para um teste de carga no portal do Azure, realçando a funcionalidade de paragem automática.

  5. Selecione Aplicar ou Rever + criar se estiver a criar um novo teste de carga para guardar as alterações.

Próximos passos

  • Para saber como parametrizar um teste de carga usando segredos, consulte Parametrizar um teste de carga.

  • Para saber mais sobre a automação de testes de desempenho, consulte Configurar testes de desempenho automatizados.