Execute um cenário de teste - Teste de carga distribuído na AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Execute um cenário de teste

Depois de criar um cenário de teste, você pode executá-lo imediatamente ou programá-lo para ser executado em um horário específico no futuro. Quando você navega até um teste em execução, o console exibe a guia Detalhes do cenário com o status e as métricas da tarefa em tempo real.

Cenário de teste em execução mostrando o status da tarefa e métricas em tempo real

Visualização de detalhes do cenário

A guia Detalhes do cenário exibe as principais informações sobre seu teste. O status da tarefa mostra informações em tempo real para cada região.

Tabela de status da tarefa

A tabela de status da tarefa mostra informações em tempo real para cada região:

  • Região — A região da AWS em que as tarefas estão sendo executadas

  • Contagem de tarefas - O número total de tarefas configuradas para a região

  • Concorrência - O número de usuários virtuais por tarefa

  • Em execução - Número de tarefas que estão executando o teste no momento

  • Pendente - Número de tarefas esperando para serem iniciadas

  • Provisionamento - Número de tarefas sendo provisionadas

Fluxo de trabalho de execução de

Quando um teste é iniciado, ocorre o seguinte fluxo de trabalho:

  1. Provisionamento de tarefas — A solução provisiona contêineres (tarefas) nas regiões especificadas da AWS. As tarefas aparecem na coluna “Provisionamento”.

  2. Inicialização da tarefa - A solução continua a provisionar tarefas até que a contagem de tarefas alvo seja atingida em cada região. As tarefas passam de “Provisionamento” para “Pendente” e “Em execução”.

  3. Geração de tráfego - Depois que a solução provisiona todas as tarefas em uma região, elas começam a enviar tráfego para o endpoint de destino.

  4. Execução do teste - O teste é executado pela duração configurada (ramp-up + tempo de espera).

  5. Análise de resultados - Quando o teste termina, uma tarefa de análise em segundo plano agrega e processa os resultados de todas as regiões.

Status de execução do teste

As execuções de teste podem ter os seguintes status:

  • Agendado - O teste está programado para ser executado no futuro.

  • Em execução - O teste está em andamento no momento.

  • Cancelado - Um usuário cancelou uma execução de teste em andamento.

  • Erro - A execução do teste encontrou um erro.

  • Concluído - A execução do teste foi concluída com êxito e os resultados estão prontos.

Monitoramento com dados ao vivo

Se você ativou os dados ao vivo ao criar o cenário de teste, poderá visualizar métricas em tempo real enquanto o teste está sendo executado. A seção Métricas em tempo real exibe quatro gráficos que são atualizados continuamente à medida que o teste avança, com dados agregados em intervalos de um segundo.

Gráficos de métricas em tempo real mostrando dados de desempenho de testes ao vivo

Descrições gráficas

Tempo médio de resposta

Exibe o tempo médio de resposta em segundos para solicitações processadas por cada região. O eixo Y mostra o tempo de resposta em segundos e o eixo X mostra a hora do dia. Cada região é representada por uma cor diferente na legenda.

Usuários virtuais

Mostra o número de usuários virtuais simultâneos que geram carga ativamente em cada região. O gráfico mostra como os usuários virtuais crescem durante o teste e mantém o nível de simultaneidade desejado.

Solicitações bem-sucedidas

Exibe a contagem cumulativa de solicitações bem-sucedidas ao longo do tempo para cada região. O gráfico mostra a taxa na qual as solicitações bem-sucedidas estão sendo processadas.

Solicitações falhadas

Mostra a contagem cumulativa de solicitações com falha ao longo do tempo para cada região. Uma contagem baixa ou zero indica uma execução saudável do teste.

Visualização multirregional

Ao executar testes em várias regiões, cada gráfico exibe dados de todas as regiões simultaneamente. A legenda na parte inferior de cada gráfico identifica qual cor representa cada região (por exemplo, us-west-2 e us-east-1).

Implementação técnica

O grupo de CloudWatch registros das tarefas do Fargate contém um filtro de assinatura que captura os resultados do teste. Quando o padrão é detectado, uma função Lambda estrutura os dados e os publica em um tópico do AWS IoT Core. O console web se inscreve nesse tópico e exibe as métricas em tempo real.

nota

Os dados ativos são efêmeros e só estão disponíveis durante a execução do teste. O console web persiste em no máximo 5.000 pontos de dados, após os quais os dados mais antigos são substituídos pelos mais novos. Se a página for atualizada, os gráficos ficarão em branco e começarão a partir do próximo ponto de dados disponível. Depois que o teste é concluído, a solução armazena os dados dos resultados no DynamoDB e no Amazon S3. Se ainda não houver dados disponíveis, os gráficos exibirão “Não há dados disponíveis”.

Cancelamento de um teste

Você pode cancelar um teste em execução no console web. Quando você cancela um teste, ocorre o seguinte fluxo de trabalho:

  1. A solicitação de cancelamento é enviada para a microservices API

  2. A microservices API chama a função task-canceler Lambda, que interrompe todas as tarefas lançadas atualmente.

  3. Se a função task-runner Lambda continuar em execução após a chamada de cancelamento inicial, as tarefas poderão continuar sendo iniciadas brevemente

  4. Quando a função task-runner Lambda é concluída, o AWS Step Functions prossegue para a Cancel Test etapa, que executa a função task-canceler Lambda novamente para interromper qualquer tarefa restante

nota

Os testes cancelados demoram para concluir o processo de desligamento, pois a solução encerra todos os contêineres. O status do teste mudará para “Cancelado” quando todos os recursos forem limpos.