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á.
Como funciona o teste de carga distribuída na AWS
A análise detalhada a seguir mostra as etapas envolvidas na execução de um cenário de teste.
Testar fluxos de trabalho
-
Você usa o console web para enviar um cenário de teste que inclui os detalhes da configuração para a API da solução.
-
A configuração do cenário de teste é carregada no Amazon Simple Storage Service (Amazon S3) como um arquivo JSON ().
s3://<bucket-name>/test-scenarios/<$TEST_ID>/<$TEST_ID>.json -
Uma máquina de estado do AWS Step Functions é executada usando o ID de teste, a contagem de tarefas, o tipo de teste e o tipo de arquivo como entrada da máquina de estado do AWS Step Functions. Se o teste for agendado, ele primeiro criará uma regra de CloudWatch eventos, que acionará o AWS Step Functions na data especificada. Para obter mais detalhes sobre o fluxo de trabalho de agendamento, consulte a seção Fluxo de trabalho de agendamento de testes deste guia.
-
Os detalhes da configuração são armazenados na tabela de cenários do Amazon DynamoDB.
-
No fluxo de trabalho do executor de tarefas do AWS Step Functions, a função task-status-checker AWS Lambda verifica se as tarefas do Amazon Elastic Container Service (Amazon ECS) já estão em execução com o mesmo ID de teste. Se tarefas com o mesmo ID de teste forem encontradas em execução, isso causará um erro. Se não houver tarefas do Amazon ECS em execução no cluster do AWS Fargate, a função retornará o ID do teste, a contagem de tarefas e o tipo de teste.
-
A função executora de tarefas do AWS Lambda obtém os detalhes da tarefa da etapa anterior e executa as tarefas de trabalho do Amazon ECS no cluster AWS Fargate. A API do Amazon ECS usa a RunTask ação para executar as tarefas do trabalhador. Essas tarefas de trabalho são iniciadas e, em seguida, aguardam uma mensagem inicial da tarefa líder para iniciar o teste. A RunTask ação é limitada a 10 tarefas por definição. Se a contagem de tarefas for maior que 10, a definição da tarefa será executada várias vezes até que todas as tarefas do trabalhador tenham sido iniciadas. A função também gera um prefixo para distinguir o teste atual na função AWS Lambda de análise de resultados.
-
A função task-status-checker AWS Lambda verifica se todas as tarefas de trabalho do Amazon ECS estão sendo executadas com o mesmo ID de teste. Se as tarefas ainda estiverem sendo provisionadas, ele aguardará um minuto e verificará novamente. Depois que todas as tarefas do Amazon ECS estão em execução, ele retorna o ID do teste, a contagem de tarefas, o tipo de teste, todas as tarefas IDs e prefixos e os passa para a função executora de tarefas.
-
A função executora de tarefas do AWS Lambda é executada novamente, desta vez lançando uma única tarefa do Amazon ECS para atuar como o nó líder. Essa tarefa do ECS envia uma mensagem de início de teste para cada uma das tarefas do trabalhador para iniciar os testes simultaneamente.
-
A função task-status-checker AWS Lambda novamente verifica se as tarefas do Amazon ECS estão sendo executadas com o mesmo ID de teste. Se as tarefas ainda estiverem em execução, ele espera por um minuto e verifica novamente. Quando não há tarefas em execução do Amazon ECS, ele retorna o ID do teste, a contagem de tarefas, o tipo de teste e o prefixo.
-
Quando a função AWS Lambda executora de tarefas executa as tarefas do Amazon ECS no cluster AWS Fargate, cada tarefa baixa a configuração do teste do Amazon S3 e inicia o teste.
-
Depois que os testes são executados, o tempo médio de resposta, o número de usuários simultâneos, o número de solicitações bem-sucedidas e o número de solicitações malsucedidas para cada tarefa são registrados na Amazon CloudWatch e podem ser visualizados em um CloudWatch painel.
-
Se você incluiu dados ativos no teste, a solução filtra os resultados do teste em tempo real CloudWatch usando um filtro de assinatura. Em seguida, a solução passa os dados para uma função Lambda.
-
A função Lambda então estrutura os dados recebidos e os publica em um tópico do AWS IoT Core.
-
O console web se inscreve no tópico do AWS IoT Core para o teste e recebe os dados publicados no tópico para representar graficamente os dados em tempo real enquanto o teste está sendo executado.
-
Quando o teste é concluído, as imagens do contêiner exportam um relatório detalhado como um arquivo XML para o Amazon S3. Cada arquivo recebe um UUID para o nome do arquivo. Por exemplo, s3://dlte-bucket/test-scenarios/ <$TEST_ID> /results/ <$UUID> .json.
-
Quando os arquivos XML são carregados para o Amazon S3, a função AWS Lambda do analisador de resultados lê os resultados nos arquivos XML começando com o prefixo e analisa e agrega todos os resultados em um resultado resumido.
-
A função AWS Lambda do analisador de resultados grava o resultado agregado em uma tabela do Amazon DynamoDB.
Fluxo de trabalho do servidor MCP (opcional)
Se você implantar a integração opcional do MCP Server, os agentes de IA poderão acessar e analisar seus dados de teste de carga por meio do seguinte fluxo de trabalho:
Arquitetura do servidor MCP
-
Interação com o cliente — O cliente interage com o MCP da DLT por meio do MCP Endpoint hospedado pelo AWS Gateway. AgentCore Os agentes de IA se conectam a esse endpoint para solicitar acesso aos dados de teste de carga.
-
Autorização - O AgentCore gateway processa a autorização em relação ao cliente do aplicativo de pool de usuários do Solution Cognito. O gateway valida o token Cognito do usuário para garantir que ele tenha permissão para acessar o servidor DLT MCP. Os usuários autorizados recebem acesso com o acesso à ferramenta do agente limitado a operações somente de leitura.
-
Especificação da ferramenta - O AgentCore gateway se conecta à função Lambda do DLT MCP Server. Uma especificação de ferramenta define as ferramentas disponíveis que os agentes de IA podem usar para interagir com seus dados de teste de carga.
-
Acesso à API somente para leitura - A função Lambda tem como escopo o acesso somente para leitura à API por meio dos endpoints existentes do DLT API Gateway. A função fornece quatro operações principais:
-
Listar cenários - Recupere uma lista de cenários de teste da tabela de cenários do DynamoDB
-
Obtenha resultados de testes de cenários — Acesse resultados de testes detalhados para cenários específicos do DynamoDB e do S3
-
Obtenha executores de teste de carga do Fargate - consulte informações sobre a execução de tarefas do Fargate no cluster do ECS
-
Obtenha pilhas regionais disponíveis - Recupere informações sobre a infraestrutura regional implantada em CloudFormation
-
A integração do MCP Server aproveita a infraestrutura DLT existente (API Gateway, Cognito, DynamoDB, S3) para fornecer acesso seguro e somente leitura aos dados de teste para análises e insights baseados em IA.