View a markdown version of this page

Führen Sie ein Testszenario aus - Verteilte Lasttests auf AWS

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.

Führen Sie ein Testszenario aus

Nachdem Sie ein Testszenario erstellt haben, können Sie es sofort ausführen oder es so planen, dass es zu einem bestimmten Zeitpunkt in der Zukunft ausgeführt wird. Wenn Sie zu einem laufenden Test navigieren, zeigt die Konsole die Registerkarte Szenariodetails mit Aufgabenstatus und Messwerten in Echtzeit an.

Ansicht der Szenario-Details

Auf der Registerkarte Szenariodetails werden wichtige Informationen zu Ihrem Test angezeigt. In der Tabelle mit dem Aufgabenstatus werden Echtzeitinformationen für jede Region angezeigt.

Tabelle mit dem Aufgabenstatus

Die Tabelle mit dem Aufgabenstatus zeigt Echtzeitinformationen für jede Region:

  • Region — Die AWS-Region, in der Aufgaben ausgeführt werden

  • Anzahl der Aufgaben — Die Gesamtzahl der für die Region konfigurierten Aufgaben

  • Parallelität — Die Anzahl der virtuellen Benutzer pro Aufgabe

  • Wird ausgeführt — Anzahl der Aufgaben, die den Test derzeit ausführen

  • Ausstehend — Anzahl der Aufgaben, die darauf warten, gestartet zu werden

  • Bereitstellung — Anzahl der Aufgaben, die bereitgestellt werden

Arbeitsablauf bei der Testausführung

Wenn ein Test gestartet wird, findet der folgende Arbeitsablauf statt:

  1. Aufgabenbereitstellung — Die Lösung stellt Container (Aufgaben) in den angegebenen AWS-Regionen bereit. Aufgaben werden in der Spalte „Bereitstellung“ angezeigt.

  2. Aufgabenstart — Die Lösung stellt weiterhin Aufgaben bereit, bis die Zielanzahl der Aufgaben in jeder Region erreicht ist. Aufgaben werden von „Bereitstellung“ über „Ausstehend“ zu „Wird ausgeführt“ verschoben.

  3. Generierung von Datenverkehr — Nachdem die Lösung alle Aufgaben in einer Region bereitgestellt hat, beginnen sie, Datenverkehr an Ihren Zielendpunkt zu senden.

  4. Testausführung — Der Test wird für die konfigurierte Dauer (Hochlauf und Wartezeit) ausgeführt.

  5. Analyse der Ergebnisse — Wenn der Test beendet ist, werden im Hintergrund Ergebnisse aus allen Regionen zusammengefasst und verarbeitet.

Status der Testläufe

Testläufe können den folgenden Status haben:

  • Geplant — Der Test soll in Zukunft ausgeführt werden.

  • Wird ausgeführt — Der Test ist derzeit im Gange.

  • Abgebrochen — Ein Benutzer hat einen laufenden Testlauf abgebrochen.

  • Fehler — Beim Testlauf ist ein Fehler aufgetreten.

  • Abgeschlossen — Der Testlauf wurde erfolgreich abgeschlossen und die Ergebnisse liegen vor.

Überwachung mit Live-Daten

Wenn Sie bei der Erstellung des Testszenarios Live-Daten aktiviert haben, können Sie während der Testausführung Echtzeit-Metriken anzeigen. Im Abschnitt Echtzeit-Metriken werden vier Grafiken angezeigt, die im Verlauf des Tests kontinuierlich aktualisiert werden. Die Daten werden in Intervallen von einer Sekunde aggregiert.

Diagramme mit Echtzeit-Metriken, die Live-Leistungsdaten des Tests zeigen

Beschreibungen der Grafiken

Durchschnittliche Antwortzeit

Zeigt die durchschnittliche Antwortzeit in Sekunden für Anfragen an, die von jeder Region verarbeitet wurden. Das Y-axis zeigt die Antwortzeit in Sekunden und das X-axis zeigt die Tageszeit. Jede Region wird in der Legende durch eine andere Farbe dargestellt.

Virtuelle Benutzer

Zeigt die Anzahl der gleichzeitigen virtuellen Benutzer an, die in jeder Region aktiv Last erzeugen. Das Diagramm zeigt, wie die Anzahl virtueller Benutzer während des Tests zunimmt, wobei das angestrebte Maß an Parallelität beibehalten wird.

Erfolgreiche Anfragen

Zeigt die kumulierte Anzahl erfolgreicher Anfragen im Zeitverlauf für jede Region an. Das Diagramm zeigt die Geschwindigkeit, mit der erfolgreiche Anfragen verarbeitet werden.

Fehlgeschlagene Anfragen

Zeigt die Gesamtzahl der fehlgeschlagenen Anfragen im Zeitverlauf für jede Region an. Ein niedriger Wert oder Null weist auf eine fehlerfreie Testausführung hin.

Multi-Region Visualisierung

Wenn Tests in mehreren Regionen ausgeführt werden, zeigt jedes Diagramm Daten für alle Regionen gleichzeitig an. Die Legende am unteren Rand jedes Diagramms gibt an, welche Farbe für jede Region steht (z. B. us-west-2 und us-east-1).

Technische Umsetzung

Die CloudWatch Protokollgruppe für die Fargate-Aufgaben enthält einen Abonnementfilter, der Testergebnisse erfasst. Wenn das Muster erkannt wird, strukturiert eine Lambda-Funktion die Daten und veröffentlicht sie in einem AWS IoT Core-Thema. Die Webkonsole abonniert dieses Thema und zeigt die Metriken in Echtzeit an.

Anmerkung

Live-Daten sind kurzlebig und nur verfügbar, während der Test läuft. In der Webkonsole sind maximal 5.000 Datenpunkte gespeichert. Danach werden die ältesten Daten durch die neuesten ersetzt. Wenn die Seite aktualisiert wird, sind die Grafiken leer und beginnen mit dem nächsten verfügbaren Datenpunkt. Sobald ein Test abgeschlossen ist, speichert die Lösung die Ergebnisdaten in DynamoDB und Amazon S3. Wenn noch keine Daten verfügbar sind, wird in den Grafiken „Es sind keine Daten verfügbar“ angezeigt.

Einen Test stornieren

Sie können einen laufenden Test von der Webkonsole aus abbrechen. Wenn Sie einen Test abbrechen, läuft der folgende Arbeitsablauf ab:

  1. Die Stornierungsanfrage wird an die microservices API gesendet

  2. Die microservices API ruft die task-canceler Lambda-Funktion auf, die alle aktuell gestarteten Aufgaben stoppt

  3. Wenn die task-runner Lambda-Funktion nach dem ersten Stornierungsanruf weiter ausgeführt wird, werden Aufgaben möglicherweise noch kurz gestartet

  4. Sobald die task-runner Lambda-Funktion abgeschlossen ist, fährt AWS Step Functions mit dem Cancel Test Schritt fort, bei dem die task-canceler Lambda-Funktion erneut ausgeführt wird, um alle verbleibenden Aufgaben zu stoppen

Anmerkung

Bei abgebrochenen Tests dauert es einige Zeit, bis der Shutdown-Vorgang abgeschlossen ist, da die Lösung alle Container beendet. Der Teststatus ändert sich in „Storniert“, sobald alle Ressourcen bereinigt sind.