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.
Erstellen Sie ein Testszenario
Die Erstellung eines Testszenarios umfasst vier Hauptschritte: Konfiguration der allgemeinen Einstellungen, Definition des Szenarios, Gestaltung von Verkehrsmustern und Überprüfung Ihrer Konfiguration.
Schritt 1: Allgemeine Einstellungen
Konfigurieren Sie die grundlegenden Parameter für Ihren Lasttest, einschließlich des Testnamens, der Beschreibung und der allgemeinen Konfigurationsoptionen.
Identifizierung des Tests
-
Testname (erforderlich) — Ein beschreibender Name für Ihr Testszenario
-
Testbeschreibung (erforderlich) — Zusätzliche Details zum Testzweck und zur Konfiguration
-
Tags (optional) — Fügen Sie bis zu 5 Tags hinzu, um Ihre Testszenarien zu kategorisieren und zu organisieren
Optionen für die Terminplanung
Konfigurieren Sie, wann der Test ausgeführt werden soll:
-
Jetzt ausführen — Führt den Test unmittelbar nach der Erstellung aus.
-
Einmal ausführen — Planen Sie den Test so, dass er an einem bestimmten Datum und zu einer bestimmten Uhrzeit ausgeführt wird.
-
Nach einem Zeitplan ausführen — Verwenden Sie die cron-basierte Planung, um Tests automatisch in regelmäßigen Abständen auszuführen. Sie können aus gängigen Mustern (stündlich, täglich, wöchentlich) wählen oder einen benutzerdefinierten Cron-Ausdruck definieren.
Arbeitsablauf planen
Wenn Sie einen Test planen, findet der folgende Workflow statt:
-
Die Zeitplanparameter werden über Amazon API Gateway an die API der Lösung gesendet.
-
Die API übergibt die Parameter an eine Lambda-Funktion, die eine CloudWatch Event-Regel erstellt, die am angegebenen Datum ausgeführt werden soll.
-
Bei einmaligen Tests (Run Once) wird die CloudWatch Events-Regel am angegebenen Datum ausgeführt und die
api-servicesLambda-Funktion führt den Test aus. -
Bei wiederkehrenden Tests (Run on a Schedule) wird die CloudWatch Events-Regel am angegebenen Datum aktiviert, und die
api-servicesLambda-Funktion erstellt eine neue Regel, die sofort und wiederkehrend auf der Grundlage der angegebenen Häufigkeit ausgeführt wird.
Live-Daten
Aktivieren Sie das Kontrollkästchen Live-Daten einbeziehen, um Echtzeitmetriken anzuzeigen, während Ihr Test ausgeführt wird. Wenn diese Option aktiviert ist, können Sie Folgendes überwachen:
-
Durchschnittliche Antwortzeit.
-
Anzahl virtueller Benutzer.
-
Erfolgreiche Anfragen zählen.
-
Die Anzahl fehlgeschlagener Anfragen zählt.
Die Live-Datenfunktion ermöglicht Echtzeitdiagramme mit Daten, die in Intervallen von einer Sekunde aggregiert werden. Weitere Informationen finden Sie unter Überwachung mit Live-Daten.
Schritt 2: Szenariokonfiguration
Definieren Sie das spezifische Testszenario und wählen Sie Ihr bevorzugtes Test-Framework aus.
Auswahl des Testtyps
Wählen Sie die Art des Belastungstests, den Sie durchführen möchten:
-
Einzelner HTTP-Endpunkt — Testen Sie einen einzelnen API-Endpunkt oder eine Webseite mit einfacher Konfiguration.
-
JMeter- Laden Sie JMeter Testskripte (.jmx-Dateien oder .zip-Archive) hoch.
-
K6 — Laden Sie K6-Testskripte (.js-Dateien oder .zip-Archive) hoch.
-
Locust - Laden Sie Locust-Testskripte (.py-Dateien oder .zip-Archive) hoch.
HTTP-Endpunktkonfiguration image: :images/test-types.png [Wählen Sie den auszuführenden Testtyp aus] Wenn „Single HTTP Endpoint“ ausgewählt ist, konfigurieren Sie diese Einstellungen:
- HTTP-Endpunkt (erforderlich)
-
Geben Sie die vollständige URL des Endpunkts ein, den Sie testen möchten. Beispiel,
https://api.example.com/users. Stellen Sie sicher, dass der Endpunkt von der AWS-Infrastruktur aus zugänglich ist. - HTTP-Methode (erforderlich)
-
Wählen Sie die HTTP-Methode für Ihre Anfragen aus. Der Standardwert ist
GET. Zu den weiteren Optionen gehörenPOSTPUT,DELETE,PATCH,HEAD, undOPTIONS. - Header der Anfrage (optional)
-
Fügen Sie Ihren Anfragen benutzerdefinierte HTTP-Header hinzu. Zu den häufigsten Beispielen gehören:
-
Content-Type: application/json -
Authorization: Bearer <token> -
User-Agent: LoadTest/1.0Wählen Sie „Kopfzeile hinzufügen“, um mehrere Kopfzeilen einzubeziehen.
-
- Nutzlast des Körpers (optional)
-
Fügen Sie den Inhalt des Anforderungstexts für POST- oder PUT-Anfragen hinzu. Unterstützt JSON-, XML- oder Nur-Text-Formate. Beispiel:
{"userId": 123, "action": "test"}.
Testen Sie Framework-Skripte
Wenn Sie K6 oder Locust verwenden JMeter, laden Sie Ihre Testskriptdatei oder ein ZIP-Archiv hoch, das Ihr Testskript und unterstützende Dateien enthält. Denn JMeter Sie können benutzerdefinierte Plugins in einen /plugins Ordner innerhalb Ihres ZIP-Archivs aufnehmen.
Wichtig
Ihr Testskript (JMeter, K6 oder Locust) kann zwar Parallelität (virtuelle Benutzer), Transaktionsraten (TPS), Anlaufzeiten und andere Ladeparameter definieren, aber die Lösung überschreibt diese Konfigurationen mit den Werten, die Sie während der Testerstellung im Traffic Shape-Bildschirm angeben. Die Traffic Shape-Konfiguration steuert die Anzahl der Aufgaben, die Parallelität (virtuelle Benutzer pro Aufgabe), die Dauer des Hochlaufs und die Haltedauer für die Testausführung.
Schritt 3: Traffic Shape
Konfigurieren Sie, wie der Verkehr während Ihres Tests verteilt werden soll, einschließlich der Unterstützung mehrerer Regionen.
Konfiguration des Datenverkehrs für mehrere Regionen
Wählen Sie eine oder mehrere AWS-Regionen aus, um Ihren Belastungstest geografisch zu verteilen. Konfigurieren Sie für jede ausgewählte Region:
- Anzahl der Aufgaben
-
Die Anzahl der Container (Aufgaben), die im Fargate-Cluster für das Testszenario gestartet werden. Zusätzliche Aufgaben werden nicht mehr erstellt, sobald das Konto das Limit „Fargate-Ressource wurde erreicht“ erreicht hat.
- Concurrency (Nebenläufigkeit)
-
Die Anzahl gleichzeitiger virtueller Benutzer, die pro Aufgabe generiert wurden. Das empfohlene Limit basiert auf den Standardeinstellungen von 2 V CPUs pro Aufgabe. Die Parallelität wird durch CPU- und Speicherressourcen begrenzt.
Ermitteln Sie die Anzahl der Benutzer
Die Anzahl der Benutzer, die ein Container für einen Test unterstützen kann, kann bestimmt werden, indem die Anzahl der Benutzer schrittweise erhöht und die Leistung in Amazon überwacht wird CloudWatch. Sobald Sie feststellen, dass die CPU- und Speicherleistung an ihre Grenzen stößt, haben Sie die maximale Anzahl von Benutzern erreicht, die ein Container für diesen Test in seiner Standardkonfiguration unterstützen kann (2 vCPU und 4 GB Arbeitsspeicher).
Kalibrierungsprozess
Anhand des folgenden Beispiels können Sie damit beginnen, die Grenzwerte für gleichzeitige Benutzer für Ihren Test zu ermitteln:
-
Erstellen Sie einen Test mit nicht mehr als 200 Benutzern.
-
Überwachen Sie während der Ausführung des Tests die CPU und den Speicher mithilfe der CloudWatch Konsole
: -
Wählen Sie im linken Navigationsbereich unter Container Insights die Option Performance Monitoring aus.
-
Wählen Sie auf der Seite zur Leistungsüberwachung im linken Dropdownmenü die Option ECS-Cluster aus.
-
Wählen Sie im rechten Drop-down-Menü Ihren Amazon Elastic Container Service (Amazon ECS) -Cluster aus.
-
-
Achten Sie bei der Überwachung auf die CPU und den Arbeitsspeicher. Wenn die CPU nicht über 75% oder der Arbeitsspeicher nicht über 85% liegt (einmalige Spitzenwerte ignorieren), können Sie einen weiteren Test mit einer höheren Benutzerzahl durchführen.
Wiederholen Sie die Schritte 1 bis 3, wenn der Test die Ressourcengrenzen nicht überschritten hat. Optional können Sie die Container-Ressourcen erhöhen, um eine höhere Anzahl gleichzeitiger Benutzer zu ermöglichen. Dies führt jedoch zu höheren Kosten. Einzelheiten finden Sie im Entwicklerhandbuch.
Anmerkung
Um genaue Ergebnisse zu erzielen, sollten Sie bei der Festlegung der Grenzwerte für gleichzeitige Benutzer jeweils nur einen Test durchführen. Alle Tests verwenden denselben Cluster, und CloudWatch Container Insights aggregiert die Leistungsdaten auf der Grundlage des Clusters. Dies führt dazu, dass beide Tests gleichzeitig an CloudWatch Container Insights gemeldet werden, was zu ungenauen Kennzahlen zur Ressourcennutzung für einen einzelnen Test führt.
Weitere Informationen zur Kalibrierung von Benutzern pro Engine finden Sie in der Dokumentation unter Kalibrierung eines Taurus-Tests
Anmerkung
Die Lösung zeigt Informationen zur verfügbaren Kapazität für jede Region an und hilft Ihnen so, Ihre Testkonfiguration innerhalb der verfügbaren Grenzen zu planen.
Tabelle der verfügbaren Aufgaben
In der Tabelle der verfügbaren Aufgaben wird die Ressourcenverfügbarkeit für jede ausgewählte Region angezeigt:
-
Region — Der Name der AWS-Region.
-
v CPUs pro Aufgabe — Die Anzahl der virtuellen Geräte, die jeder Aufgabe CPUs zugewiesen sind (Standard: 2).
-
DLT-Aufgabenlimit — Die maximale Anzahl von Aufgaben, die basierend auf den Fargate-Limits Ihres Kontos erstellt werden können (Standard: 2000).
-
Verfügbare DLT-Aufgaben — Die aktuelle Anzahl von Aufgaben, die in der Region zur Verfügung stehen (Standard: 2000).
Informationen zur Erhöhung der Anzahl der verfügbaren Aufgaben oder v CPUs pro Aufgabe finden Sie im Entwicklerhandbuch.
Dauer des Tests
Definieren Sie, wie lange Ihr Auslastungstest laufen soll:
- Hochfahren
-
Die Zeit, bis die Zielparallelität erreicht ist. Die Auslastung steigt in diesem Zeitraum schrittweise von 0 auf den konfigurierten Parallelitätsgrad.
- Halten Sie für
-
Die Dauer, für die die Ziellast aufrechterhalten werden soll. Der Test wird für diesen Zeitraum mit voller Parallelität fortgesetzt.
Schritt 4: Überprüfen und Erstellen
Überprüfen Sie alle Ihre Konfigurationen, bevor Sie das Testszenario erstellen. Überprüfen:
-
Allgemeine Einstellungen (Name, Beschreibung, Zeitplan).
-
Szenariokonfiguration (Testtyp, Endpunkt oder Skript).
-
Form des Datenverkehrs (Aufgaben, Benutzer, Dauer, Regionen).
Wählen Sie nach der Überprüfung Create aus, um Ihr Testszenario zu speichern.
Testszenarien verwalten
Nachdem Sie ein Testszenario erstellt haben, können Sie:
-
Bearbeiten — Ändern Sie die Testkonfiguration. Häufige Anwendungsfälle umfassen:
-
Verfeinerung der Verkehrsform, um die gewünschte Transaktionsrate zu erreichen.
-
-
Kopieren — Duplizieren Sie ein vorhandenes Testszenario, um Varianten zu erstellen. Häufige Anwendungsfälle umfassen:
-
Endpunkte aktualisieren oder headers/body Parameter hinzufügen.
-
Hinzufügen oder Ändern von Testskripten.
-
-
Löschen — Entfernen Sie Testszenarien, die Sie nicht mehr benötigen.