Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Backend
Das Backend besteht aus einer Container-Image-Pipeline und einer Load-Test-Engine, mit der Sie die Last für die Tests generieren. Sie interagieren mit dem Backend über das Frontend. Darüber hinaus werden die für jeden Test gestarteten Aufgaben von Amazon ECS auf AWS Fargate mit einer eindeutigen Test-ID (ID) gekennzeichnet. Diese Test-ID-Tags können Ihnen helfen, die Kosten für diese Lösung zu überwachen. Weitere Informationen finden Sie unter User-Defined Cost Allocation Tags im AWS Billing and Cost Management-Benutzerhandbuch.
Pipeline für Container-Images
Diese Lösung verwendet ein mit Amazon Linux 2023
Weitere Informationen finden Sie im Abschnitt zur Anpassung von Container-Images in diesem Handbuch.
Testen der Framework-Bereitstellung
Die drei unterstützten Test-Frameworks werden zu unterschiedlichen Zeitpunkten im Lösungslebenszyklus bereitgestellt, um ein ausgewogenes Verhältnis zwischen Image-Größe und Versionsflexibilität zu gewährleisten:
-
Apache JMeter — Wird während der Stack-Bereitstellung in einem S3-Bucket in Ihrem Konto bereitgestellt und zur Testlaufzeit extrahiert, wenn ein JMeter- oder Single HTTP Endpoint-Test ausgeführt wird.
-
Grafana K6 — Direkt vom Framework-Anbieter heruntergeladen und zur Testlaufzeit extrahiert, nur wenn ein K6-Test ausgeführt wird.
-
Locust — Wird zur Build-Zeit im Container-Image installiert und bleibt inaktiv, bis ein Locust-Test ausgeführt wird.
Anmerkung
K6 benötigt zur Testlaufzeit ausgehenden Netzwerkzugriff auf die Grafana K6-Version. Eingeschränkter Ausgang führt dazu, dass K6-Tests beim Herunterladen fehlschlagen.
Infrastruktur wird getestet
Zusätzlich zur CloudFormation Hauptvorlage bietet die Lösung eine regionale Vorlage, mit der die erforderlichen Ressourcen für die Durchführung von Tests in mehreren Regionen bereitgestellt werden können. Die Lösung speichert diese Vorlage in Amazon S3 und stellt in der Webkonsole einen Link dazu bereit. Jeder regionale Stack umfasst eine VPC, einen AWS Fargate-Cluster und eine Lambda-Funktion für die Verarbeitung von Live-Daten.
Weitere Informationen zur Bereitstellung der Testinfrastruktur in weiteren Regionen finden Sie im Abschnitt zur Multi-Region Bereitstellung dieses Handbuchs.
Test-Engine auslasten
Die Distributed Load Testing-Lösung verwendet Amazon Elastic Container Service (Amazon ECS) und AWS Fargate, um Tausende von gleichzeitigen Benutzern in mehreren Regionen zu simulieren und HTTP-Anfragen mit kontinuierlicher Geschwindigkeit zu generieren.
Sie definieren die Testparameter mithilfe der mitgelieferten Webkonsole. Die Lösung verwendet diese Parameter, um ein JSON-Testszenario zu generieren und es in Amazon S3 zu speichern. Weitere Informationen zu Testskripten und Testparametern finden Sie unter Testtypen in diesem Abschnitt.
Eine AWS Step Functions Functions-Zustandsmaschine führt Amazon ECS-Aufgaben in einem AWS Fargate-Cluster aus und überwacht sie. Die AWS Step Functions Functions-Zustandsmaschine umfasst eine AWS-Lambda-Funktion ecr-checker, eine AWS-Lambda-Funktion zur Aufgabenstatusprüfung, eine AWS-Lambda-Funktion zum Task-Runner, eine AWS-Lambda-Funktion zum Abbrechen von Aufgaben und eine AWS-Lambda-Funktion zum Parsen von Ergebnissen. Weitere Informationen zum Workflow finden Sie im Abschnitt Workflow testen in diesem Handbuch. Weitere Informationen zu Testergebnissen finden Sie im Abschnitt Testergebnisse dieses Handbuchs. Weitere Informationen zum Ablauf der Teststornierung finden Sie im Abschnitt zum Ablauf der Teststornierung in diesem Handbuch.
Wenn Sie Live-Daten auswählen, initiiert die Lösung in jeder Region eine Lambda-Funktion für Echtzeitdaten-Publisher anhand der CloudWatch Protokolle, die den Fargate-Aufgaben in dieser Region entsprechen. Die Lösung verarbeitet und veröffentlicht dann die Daten zu einem Thema in AWS IoT Core in der Region, in der Sie den Haupt-Stack gestartet haben. Weitere Informationen finden Sie im Abschnitt Live-Daten dieses Handbuchs.