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á.
Back-end
O back-end consiste em um pipeline de imagem de contêiner e um mecanismo de teste de carga que você usa para gerar carga para os testes. Você interage com o back-end por meio do front-end. Além disso, as tarefas do Amazon ECS no AWS Fargate lançadas para cada teste são marcadas com um identificador de teste (ID) exclusivo. Essas etiquetas de identificação de teste podem ser usadas para ajudar você a monitorar os custos dessa solução. Para obter informações adicionais, consulte Tags de alocação de User-Defined custos no Guia do usuário do AWS Billing and Cost Management.
Pipeline de imagens do container
Essa solução usa imagens de contêiner criadas com o Amazon Linux 2023
A imagem que uma tarefa usa depende do modo de formato do tráfego do teste. Para obter mais informações sobre os modos, consulte Modos de formato de tráfego.
-
O modo padrão usa uma única imagem com a estrutura de teste de carga
Taurus instalada. O Taurus é uma estrutura de automação de testes de código aberto que suporta JMeter, k6, Locust e outras ferramentas de teste. Ele aplica os parâmetros de carga definidos no console a qualquer estrutura usada pelo teste. -
O modo nativo usa uma imagem dedicada para cada estrutura de teste (JMeter, k6 ou Locust), sem o Taurus. Cada imagem executa sua estrutura diretamente no seu script.
Para obter mais informações, consulte a seção Personalização de imagens de contêineres deste guia.
Provisionamento da estrutura de teste
As três estruturas de teste suportadas são provisionadas em diferentes pontos do ciclo de vida da solução para equilibrar o tamanho da imagem com a flexibilidade da versão:
-
Apache JMeter — Armazenado em um bucket do S3 em sua conta durante a implantação da pilha e extraído no tempo de execução do teste quando um teste JMeter ou Simple HTTP Endpoint é executado.
-
Grafana k6 — Baixado diretamente do provedor da estrutura e extraído no tempo de execução do teste, somente quando um teste k6 é executado.
-
Locust — Instalado na imagem do contêiner no momento da construção e permanece inativo até que um teste Locust seja executado.
O provisionamento funciona da mesma forma em ambos os modos de formato de tráfego. As imagens do modo nativo obtêm cada estrutura no mesmo ponto do ciclo de vida que a imagem do modo padrão. Portanto, os requisitos de rede e implantação abaixo se aplicam a ambos.
nota
O k6 requer acesso de rede externa à versão Grafana k6 no tempo de execução do teste. A saída restrita fará com que os testes k6 falhem na etapa de download.
Infraestrutura de testes
Além do CloudFormation modelo principal, a solução fornece um modelo regional para lançar os recursos necessários para a execução de testes em várias regiões. A solução armazena esse modelo no Amazon S3 e fornece um link para ele no console web. Cada pilha regional inclui uma VPC, um cluster AWS Fargate e uma função Lambda para processar dados ativos.
Para obter mais informações sobre como implantar a infraestrutura de teste em outras regiões, consulte a seção de Multi-Region implantação deste guia.
Motor de teste de carga
A solução Distributed Load Testing usa o Amazon Elastic Container Service (Amazon ECS) e o AWS Fargate para simular milhares de usuários simultâneos em várias regiões, gerando solicitações HTTP a uma taxa sustentada.
Você define os parâmetros de teste usando o console web incluído. A solução usa esses parâmetros para gerar um cenário de teste JSON e o armazena no Amazon S3. Para obter mais informações sobre scripts de teste e parâmetros de teste, consulte Tipos de teste nesta seção.
Uma máquina de estado do AWS Step Functions executa e monitora tarefas do Amazon ECS em um cluster do AWS Fargate. A máquina de estado do AWS Step Functions inclui uma função do AWS Lambda do ecr-checker, uma função do AWS Lambda do verificador do status da tarefa, uma função do AWS Lambda do executor de tarefas, uma função do AWS Lambda de cancelamento de tarefas e uma função do AWS Lambda de análise de resultados. Para obter mais informações sobre o fluxo de trabalho, consulte a seção Fluxo de trabalho de execução de testes deste guia. Para obter mais informações sobre os resultados do teste, consulte a seção Explorar os resultados do teste deste guia. Para obter mais informações sobre o fluxo de trabalho de cancelamento de testes, consulte a seção Cancelando um teste deste guia.
Se você selecionar dados ativos, a solução iniciará uma função Lambda de publicação de dados em tempo real em cada região por meio dos CloudWatch registros que correspondem às tarefas do Fargate nessa região. Em seguida, a solução processa e publica os dados em um tópico no AWS IoT Core na região em que você lançou a pilha principal. Para obter mais informações, consulte a seção Monitoramento com dados em tempo real deste guia.