Designüberlegungen - 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.

Designüberlegungen

Unterstützte Anwendungen

Diese Lösung unterstützt cloudbasierte Anwendungen und lokale Anwendungen, sofern Sie über eine Netzwerkverbindung von Ihrem AWS-Konto zu Ihrer Anwendung verfügen. Die Lösung unterstützt APIs die Verwendung von HTTP oder HTTPS. Sie haben auch die Kontrolle über die HTTP-Anforderungsheader, sodass Sie Autorisierungs- oder benutzerdefinierte Header hinzufügen können, um Token oder API-Schlüssel zu übergeben.

JMeter Unterstützung von Skripten

Wenn Sie ein Testszenario mithilfe der Benutzeroberfläche (UI) dieser Lösung erstellen, können Sie ein JMeter Testskript verwenden. Nachdem Sie die JMeter Skriptdatei ausgewählt haben, wird sie in den <stack-name>Amazon Simple Storage Service (Amazon S3) -Bucket -scenariosbucket hochgeladen. Wenn Amazon Elastic Container Service (Amazon ECS) -Aufgaben ausgeführt werden, wird das JMeter Skript aus dem <stack-name>Amazon S3 S3-Bucket -scenariosbucket heruntergeladen und der Test wird ausgeführt.

Wenn Sie JMeter Eingabedateien haben, können Sie die Eingabedateien zusammen mit dem Skript komprimieren. JMeter Sie können die ZIP-Datei auswählen, wenn Sie ein Testszenario erstellen.

Wenn Sie Plugins einbeziehen möchten, werden alle .jar-Dateien, die in einem /plugins-Unterverzeichnis der mitgelieferten ZIP-Datei enthalten sind, in das JMeter Erweiterungsverzeichnis kopiert und stehen dort für Auslastungstests zur Verfügung.

Anmerkung

Wenn Sie Ihrer JMeter Skriptdatei JMeter Eingabedateien hinzufügen, müssen Sie den relativen Pfad der Eingabedateien in Ihrer Skriptdatei angeben. JMeter Außerdem müssen sich die Eingabedateien im relativen Pfad befinden. Wenn sich Ihre JMeter Eingabedateien und die Skriptdatei beispielsweise stattdessen im Verzeichnis/home/user directory and you refer to the input files in the JMeter script file, the path of input files must be ./INPUT_FILES. If you use /home/user/INPUT_FILES befinden, schlägt der Test fehl, da die Eingabedateien nicht gefunden werden können.

Wenn Sie JMeter Plugins einbeziehen, müssen die .jar-Dateien in einem Unterverzeichnis namens /plugins im Stammverzeichnis der ZIP-Datei gebündelt werden. Relativ zum Stammverzeichnis der ZIP-Datei muss der Pfad zu den JAR-Dateien sein. /Plugins/Bundled_Plugin.jar.

Weitere Informationen zur Verwendung von Skripten finden Sie im Benutzerhandbuch. JMeter JMeter

Unterstützung für K6-Skripte

Die Lösung unterstützt Tests auf Basis des K6-Frameworks. K6 wird mit einer AGPL-3.0-Lizenz veröffentlicht. Die Lösung zeigt eine Lizenzbestätigungsmeldung an, wenn ein neuer Test für K6 erstellt wird. Die K6-Testdatei kann zusammen mit allen erforderlichen Eingabedateien in eine Archivdatei aufgenommen und mit der Upload-Option für das Testszenario hochgeladen werden.

Unterstützung für Locust-Skripte

Die Lösung unterstützt Tests auf Basis des Locust Frameworks. Die Locust-Testdatei kann zusammen mit allen erforderlichen Eingabedateien in eine Archivdatei aufgenommen und mit der Upload-Option für das Testszenario hochgeladen werden.

Planung von Tests

Sie können Tests so planen, dass sie zu einem future Zeitpunkt ausgeführt werden, oder die Option Jetzt ausführen verwenden. Sie können einen Test als einmaligen Testlauf in der future planen oder einen wiederkehrenden Test einrichten, bei dem Sie ein Datum für die erste Ausführung und eine geplante Wiederholung angeben. Zu den Optionen für die Wiederholung gehören: täglich, wöchentlich, zweiwöchentlich und monatlich. Weitere Informationen zur Funktionsweise der Terminplanung finden Sie im Abschnitt zum Testen des Planungsablaufs in diesem Handbuch.

Ab Version 3.3.0 können Benutzer mit Distributed Load Testing auf AWS Lasttests mithilfe von Cron-Ausdrücken planen. Wählen Sie Nach Zeitplan ausführen und dann die Registerkarte CRON, um entweder manuell einen Cron-Wert einzugeben oder die Dropdown-Felder zu verwenden. Das cronExpiryDate muss mit dem geplanten Testlaufdatum übereinstimmen. Überprüfen Sie die Termine für den nächsten Testlauf (UTC), um Ihren Zeitplan zu bestätigen.

Anmerkung
  • Testdauer: Berücksichtigen Sie bei der Planung die Gesamtdauer der Tests. Ein Test mit einer Anlaufzeit von 10 Minuten und einer Haltezeit von 40 Minuten dauert beispielsweise etwa 80 Minuten.

  • Mindestintervall: Stellen Sie sicher, dass das Intervall zwischen den geplanten Tests länger ist als die geschätzte Testdauer. Wenn der Test beispielsweise etwa 80 Minuten dauert, sollten Sie ihn so planen, dass er nicht häufiger als alle 3 Stunden ausgeführt wird.

  • Stündliche Begrenzung: Das System erlaubt es nicht, Tests mit einem Unterschied von nur einer Stunde zu planen, selbst wenn die geschätzte Testdauer weniger als eine Stunde beträgt.

Gleichzeitige Tests

Diese Lösung beinhaltet ein CloudWatch Amazon-Dashboard für jeden Test und zeigt die kombinierte Ausgabe aller Aufgaben, die für diesen Test im Amazon ECS-Cluster ausgeführt werden, in Echtzeit an. Das CloudWatch Dashboard zeigt die durchschnittliche Antwortzeit, die Anzahl der gleichzeitigen Benutzer, die Anzahl der erfolgreichen Anfragen und die Anzahl der fehlgeschlagenen Anfragen an. Jede Metrik wird sekundengenau aggregiert und das Dashboard wird jede Minute aktualisiert.

Benutzerverwaltung

Bei der Erstkonfiguration geben Sie einen Benutzernamen und eine E-Mail-Adresse an, die Amazon Cognito verwendet, um Ihnen Zugriff auf die Webkonsole der Lösung zu gewähren. Die Konsole bietet keine Benutzerverwaltung. Um weitere Benutzer hinzuzufügen, müssen Sie die Amazon Cognito Cognito-Konsole verwenden. Weitere Informationen finden Sie unter Managing Users in User Pools im Amazon Cognito Developer Guide.

Informationen zur Migration vorhandener Benutzer zu Amazon Cognito-Benutzerpools finden Sie im AWS-Blog Approaches for migration users to Amazon Cognito user pools.

Regionale Bereitstellung

Diese Lösung verwendet Amazon Cognito, das nur in bestimmten AWS-Regionen verfügbar ist. Daher müssen Sie diese Lösung in einer Region bereitstellen, in der Amazon Cognito verfügbar ist. Die aktuelle Serviceverfügbarkeit nach Regionen finden Sie in der regionalen AWS-Serviceliste.