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 interromper automaticamente os critérios para seus testes de carga com o Teste de Carga do Azure. Com os critérios de falha, você define as expectativas de desempenho e qualidade do 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 percentual de CPU para um recurso do Azure. Os critérios de parada automática permitem que você interrompa automaticamente o teste de carga quando a taxa de erro ultrapassar um determinado limite.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Um recurso de teste de carga do Azure. Se precisar criar um recurso de Teste de Carga do Azure, consulte o início rápido Criar e executar um teste de carga.
Critérios de falha do teste de carga
Critérios de falha de teste de carga são condições para métricas que o seu teste deve atender. Os critérios de teste são definidos no nível do 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, o critério com o valor de limite mais baixo será usado.
Estrutura de critérios de falha para métricas do cliente
O formato dos critérios de falha no Teste de Carga do Azure é igual ao de uma instrução condicional para uma métrica com suporte. Por exemplo, certifique-se de que o número médio de solicitações por segundo seja maior que 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.
- No nível do teste de carga. Por exemplo, para garantir que a porcentagem total de erros não exceda um limite. A estrutura para os critérios é:
Aggregate_function (client_metric) condition threshold
. - No nível da solicitação JMeter (amostra 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 entrada. A estrutura para os critérios é:
Request: Aggregate_function (client_metric) condition threshold
.
A tabela a seguir descreve os diferentes componentes:
Parâmetro | Descrição |
---|---|
Client metric |
Obrigatórios. A métrica do cliente na qual a condição deve ser aplicada. |
Aggregate function |
Obrigatórios. A função de agregação a ser aplicada à métrica do cliente. |
Condition |
Obrigatórios. O operador de comparação, como greater than ou less than . |
Threshold |
Obrigatórios. 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 da amostra em seu script do JMeter. Os nomes das amostras aparecem no painel de resultados do Teste de Carga do Azure. |
Métricas de cliente com suporte para critérios de falha
O Teste de Carga do Azure dá suporte às seguintes métricas de cliente:
Métrica | Função de agregação | Limite | Condição | Descrição |
---|---|---|---|---|
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)< (menor 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)< (menor que) |
Latência em milissegundos. Saiba mais sobre a latência na documentação do Apache JMeter. |
error |
percentage |
Valor numérico no intervalo de 0 a 100, representando uma porcentagem. | > (maior que) |
Porcentagem de solicitações com falha. |
requests_per_sec |
avg (média) |
Valor numérico com até duas casas decimais. | > (maior que) < (menor que) |
Número de solicitações por segundo. |
requests |
count |
Valor inteiro. | > (maior que) < (menor que) |
Número total de solicitações. |
Definir critérios de falha de teste de carga para métricas de cliente
Nesta seção, você configurará os critérios de teste para a métrica do cliente para um teste de carga no portal do Azure.
No portal do Azure, acesse seu recurso de Teste de Carga do Azure.
No painel esquerdo, selecione Testes para exibir a lista de testes de carga.
Selecione o teste de carga na lista e clique em Editar.
No painel Critérios de teste, preencha os valores de Métrica, Função de agregação, Condição e Limite do teste.
Opcionalmente, insira as informações de Nome da solicitação para adicionar um critério de teste a uma solicitação JMeter específica. O valor deve corresponder ao nome da amostra JMeter no arquivo JMX.
Escolha Aplicar para salvar as alterações.
Agora, quando você executar o teste de carga, o Teste de Carga do Azure usará os critérios de teste para determinar o status da execução.
Execute o teste e veja o status no painel do teste de carga.
O painel mostra cada um dos critérios de teste e o respectivo status. O status geral do teste é “Com falha” se pelo menos um critério for atendido.
Acessar o componente do aplicativo para critérios de teste em métricas de 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ê precisará 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:
No portal do Azure, acesse o componente do aplicativo.
No painel esquerdo, selecione Controle de Acesso (IAM) e, em seguida, selecione + Adicionar e Adicionar atribuição de função.
Na guia Função , em Funções de trabalho, pesquise Leitor de monitoramento ou Colaborador de monitoramento.
Na guia Membros, em Atribuir acesso a, selecione Identidade gerenciada.
Clique em Selecionar membros, pesquise e selecione a identidade gerenciada para o recurso de teste de carga e selecione Avançar. Se você estiver usando uma identidade gerenciada atribuída pelo sistema, o nome da identidade gerenciada corresponderá ao do recurso de teste de carga do Azure.
Selecione Examinar + atribuir para atribuir a permissão à identidade.
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 do Azure Pipelines/Github Actions.
Nesta seção, você configurará os critérios de falha de teste em métricas do lado do servidor para um teste de carga no portal do Azure.
No portal do Azure, acesse seu recurso de Teste de Carga do Azure.
Selecione Criar teste.
Na Guia Monitoramento, configure os componentes do aplicativo que você deseja monitorar durante o teste.
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 a que concedeu acesso anteriormente.
No painel Critérios de teste, preencha ID do recurso, Namespace, Métrica, Agregação, Condição e Valores de limite para o teste. Você pode definir critérios de falha apenas para os componentes de recursos/aplicativos que você está monitorando durante o teste.
Escolha Aplicar para salvar as alterações. Agora, quando você executar o teste de carga, o Teste de Carga do Azure usará os critérios de teste para determinar o status da execução.
Execute o teste e veja o status no painel do teste de carga. O painel mostra cada um dos critérios de teste e o respectivo status. O status geral do teste é “Com falha” se pelo menos um critério for atendido.
Configuração de parada automática
O Teste de Carga do Azure interrompe automaticamente um teste de carga se a porcentagem de erro exceder um determinado limite em uma certa janela de tempo. Parar automaticamente impede que testes com falha incorram em ainda mais custos, por exemplo, devido a uma URL de ponto de extremidade configurada incorretamente.
Na configuração do teste de carga, você pode habilitar ou desabilitar a funcionalidade de parada automática, bem como 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 AutoStop em seu script do JMeter. O teste de carga será interrompido automaticamente quando um dos critérios da configuração de parada automática ou do ouvinte AutoStop do JMeter for atendido.
Cuidado
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 o teste de carga no portal do Azure:
No portal do Azure, acesse seu recurso de Teste de Carga do Azure.
No painel esquerdo, selecione Testes para exibir a lista de testes de carga.
Selecione o teste de carga na lista e clique em Editar. Como alternativa, selecione Criar>Carregar um script JMeter para criar um novo teste.
Vá para a guia Critérios de teste para configurar a funcionalidade de parada automática.
Habilite ou desabilite a interrupção automática do teste de carga usando o controle Teste de parada automática.
Se você habilitar a parada automática, poderá preencher o Percentual de erro e os campos da janela Tempo. Especifique a janela de tempo em segundos.
Selecione Aplicarou Examinar + criar se você estiver criando um novo teste de carga, para salvar as alterações.
Próximas etapas
Para saber como parametrizar um teste de carga usando segredos, confira Parametrizar um teste de carga.
Para saber mais sobre a automação do teste de desempenho, confira Configurar o teste de desempenho automatizado.