Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Backend
Il backend è costituito da una pipeline di immagini del contenitore e da un motore di test del carico utilizzato per generare il carico per i test. Interagisci con il backend tramite il front-end. Inoltre, le attività di Amazon ECS su AWS Fargate avviate per ogni test sono contrassegnate con un identificatore di test (ID) univoco. Questi tag ID di test possono essere utilizzati per aiutarti a monitorare i costi di questa soluzione. Per ulteriori informazioni, consulta i tag di allocazione User-Defined dei costi nella AWS Billing and Cost Management User Guide.
Pipeline di immagini dei contenitori
Questa soluzione utilizza un'immagine del contenitore creata con Amazon Linux 2023
Per ulteriori informazioni, consulta la sezione sulla personalizzazione dell'immagine del contenitore di questa guida.
Test del provisioning del framework
I tre framework di test supportati vengono forniti in momenti diversi del ciclo di vita della soluzione per bilanciare le dimensioni dell'immagine con la flessibilità delle versioni:
-
Apache JMeter: inserito in un bucket S3 dell'account durante la distribuzione dello stack ed estratto durante l'esecuzione del test quando viene eseguito un test JMeter o Single HTTP Endpoint.
-
Grafana K6: scaricata direttamente dal provider del framework ed estratta in fase di test, solo quando viene eseguito un test K6.
-
Locust: installato nell'immagine del contenitore in fase di compilazione e rimane inattivo fino all'esecuzione di un test Locust.
Nota
K6 richiede l'accesso alla rete in uscita alla versione Grafana K6 in fase di test. L'uscita limitata causerà il fallimento dei test K6 nella fase di download.
Infrastruttura di test
Oltre al CloudFormation modello principale, la soluzione fornisce un modello regionale per avviare le risorse necessarie per eseguire i test in più regioni. La soluzione archivia questo modello in Amazon S3 e fornisce un collegamento ad esso nella console Web. Ogni stack regionale include un VPC, un cluster AWS Fargate e una funzione Lambda per l'elaborazione di dati in tempo reale.
Per ulteriori informazioni su come implementare l'infrastruttura di test in altre regioni, consulta la sezione sulla Multi-Region distribuzione di questa guida.
Motore di test di carico
La soluzione Distributed Load Testing utilizza Amazon Elastic Container Service (Amazon ECS) e AWS Fargate per simulare migliaia di utenti simultanei in più regioni, generando richieste HTTP a una velocità sostenuta.
È possibile definire i parametri del test utilizzando la console Web inclusa. La soluzione utilizza questi parametri per generare uno scenario di test JSON e lo archivia in Amazon S3. Per ulteriori informazioni sugli script di test e sui parametri di test, consulta la sezione Tipi di test in questa sezione.
Una macchina a stati AWS Step Functions esegue e monitora le attività di Amazon ECS in un cluster AWS Fargate. La macchina a stati AWS Step Functions include una funzione AWS Lambda ecr-checker, una funzione AWS Lambda task-status-checker, una funzione AWS Lambda task-runner, una funzione AWS Lambda task-canceler e una funzione AWS Lambda con analisi dei risultati. Per ulteriori informazioni sul flusso di lavoro, consulta la sezione Test workflow di questa guida. Per ulteriori informazioni sui risultati dei test, consulta la sezione Risultati dei test di questa guida. Per ulteriori informazioni sul flusso di lavoro per l'annullamento del test, consulta la sezione Flusso di lavoro per l'annullamento del test di questa guida.
Se si selezionano dati in tempo reale, la soluzione avvia una funzione Lambda di pubblicazione di dati in tempo reale in ciascuna regione tramite CloudWatch i log che corrispondono alle attività di Fargate in quella regione. La soluzione elabora e pubblica quindi i dati su un argomento in AWS IoT Core all'interno della regione in cui è stato lanciato lo stack principale. Per ulteriori informazioni, consulta la sezione Dati in tempo reale di questa guida.