Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erfahren Sie mehr über die wichtigsten Konzepte und Komponenten von Azure Load Testing. Diese Informationen können Ihnen helfen, einen Auslastungstest effektiver einzurichten, um Leistungsprobleme in Ihrer Anwendung zu identifizieren.
Allgemeine Konzepte von Auslastungstests
Erfahren Sie mehr über die wichtigsten Konzepte im Zusammenhang mit der Ausführung von Auslastungstests.
Virtuelle Benutzer
Ein virtueller Benutzer führt einen bestimmten Testfall für Ihre Serveranwendung aus und wird unabhängig von anderen virtuellen Benutzern ausgeführt. Sie können mehrere virtuelle Benutzer verwenden, um gleichzeitige Verbindungen mit Ihrer Serveranwendung zu simulieren.
Apache JMeter bezieht sich auch auf virtuelle Benutzer als Threads. Im JMeter-Testskript können Sie mit einem Threadgruppenelement den Pool virtueller Benutzer angeben. Erfahren Sie mehr über Threadgruppen in der Apache JMeter-Dokumentation.
Locust bezieht sich auf virtuelle Benutzer als Benutzer. Sie können die benutzer angeben, die für Ihren Test in der Weboberfläche erforderlich sind, als Befehlszeilenargument, über eine Umgebungsvariable oder über eine Konfigurationsdatei. Weitere Informationen finden Sie unter den Konfigurationsoptionen in der Locust-Dokumentation.
Die Gesamtanzahl der virtuellen Benutzer für Den Auslastungstest hängt von der Anzahl der virtuellen Benutzer im Testskript und der Anzahl der Testmodulinstanzen ab.
Bei JMeter-basierten Auslastungstests lautet die Formel: Gesamtanzahl der virtuellen Benutzer = (virtuelle Benutzer in der JMX-Datei) * (Anzahl der Testmodulinstanzen).
Sie können die Zielanzahl virtueller Benutzer erreichen, indem Sie die Anzahl der Testmodulinstanzen, die Anzahl der virtuellen Benutzer im Testskript oder eine Kombination aus beiden konfigurieren.
Bei Locust-basierten Auslastungstests ist die Gesamtzahl der virtuellen Benutzer die Anzahl der Benutzer, die über eine der Konfigurationsoptionen angegeben wurden. Anschließend können Sie die Anzahl der Testmodulinstanzen konfigurieren, die erforderlich sind, um die Gesamtanzahl der Benutzer zu generieren.
Ramp-up-Zeit
Die Ramp-up-Zeit ist die Zeitspanne, um die vollständige Anzahl der virtuellen Benutzer für den Ladetest abzurufen. Wenn die Anzahl der virtuellen Benutzer 20 ist und die Ramp-up-Zeit 120 Sekunden beträgt, dauert es 120 Sekunden, um alle 20 virtuellen Benutzer zu erreichen. Jeder virtuelle Benutzer startet 6 (120/20) Sekunden, nachdem der vorherige Benutzer gestartet wurde.
Für Locust können Sie den Hochlauf mithilfe der Spawnrate konfigurieren. Die Spawn-Rate ist die Anzahl der pro Sekunde hinzugefügten Benutzer. Wenn z. B. die Anzahl der Benutzer 20 ist und die Spawnrate 2 ist, werden alle zwei Benutzer hinzugefügt, und es dauert 10 Sekunden, bis alle 20 Benutzer zu erreichen sind.
Antwortzeit
Die Antwortzeit einer einzelnen Anforderung oder verstrichener Zeit in JMeter ist die Gesamtzeit von direkt vor dem Senden der Anforderung direkt nach dem Empfang der letzten Antwort. Die Antwortzeit enthält nicht die Zeit zum Rendern der Antwort. Clientcode, z. B. JavaScript, wird während des Ladetests nicht verarbeitet.
Latenz
Die Latenz einer einzelnen Anforderung ist die Gesamtzeit unmittelbar vor dem Senden der Anforderung direkt nach dem Empfang der ersten Antwort. Die Latenz umfasst die gesamte Verarbeitung, die zum Zusammenstellen der Anforderung und zum Zusammenstellen des ersten Teils der Antwort erforderlich ist.
Anforderungen pro Sekunde (RPS)
Anforderungen pro Sekunde (RPS) oder Durchsatz sind die Gesamtanzahl der Anforderungen an die Serveranwendung, die der Auslastungstest pro Sekunde generiert.
Die Formel lautet: RPS = (Anzahl der Anforderungen) / (Gesamtzeit in Sekunden).
Die Zeit wird vom Anfang der ersten Stichprobe bis zum Ende der letzten Stichprobe berechnet. Diese Zeit enthält alle Intervalle zwischen Beispielen, z. B. wenn das Testskript Zeitgeber enthält.
Eine weitere Möglichkeit zum Berechnen des RPS basiert auf der Latenz der durchschnittlichen Anwendung und der Anzahl der virtuellen Benutzer. Um eine bestimmte Anzahl von RPS mit einem Auslastungstest zu simulieren, können Sie anhand der Latenz der Anwendung dann die erforderliche Anzahl virtueller Benutzer berechnen.
Die Formel lautet: Virtuelle Benutzer = (RPS) * (Latenz in Sekunden).
Bei einer Anwendungslatenz von 20 Millisekunden (0,02 Sekunden) zum Simulieren von 100.000 RPS sollten Sie den Auslastungstest mit 2.000 virtuellen Benutzern konfigurieren (100.000 * 0,02).
Azure Load Testing-Komponenten
Erfahren Sie mehr über die wichtigsten Konzepte und Komponenten von Azure Load Testing. Das folgende Diagramm gibt einen Überblick darüber, wie die verschiedenen Konzepte miteinander zusammenhängen.
Ressource für Lasttests
Die Azure-Auslastungstestressource ist die Ressource der obersten Ebene für Ihre Auslastungstests. Diese Ressource bietet einen zentralen Ort zum Anzeigen und Verwalten von Auslastungstests, Testergebnissen und verwandten Artefakten.
Wenn Sie eine Auslastungstestressource erstellen, geben Sie den Speicherort an, der den Speicherort der Testmodule bestimmt. Azure Load Testing verschlüsselt automatisch alle Artefakte in Ihrer Ressource. Sie können zwischen von Microsoft verwalteten Schlüsseln wählen oder eigene vom Kunden verwaltete Schlüssel für die Verschlüsselung verwenden.
Wenn Sie einen Auslastungstest für Ihre Anwendung ausführen möchten, fügen Sie ihrer Ressourcen zum Ladentest einen Test hinzu. Eine Ressource kann null oder mehr Tests enthalten.
Sie können die rollenbasierte Azure-Zugriffssteuerung verwenden, um Zugriff auf Ihre Auslastungstestressource und zugehörige Artefakte zu gewähren.
Mit Azure Load Testing können Sie verwaltete Identitäten für verschiedene Zwecke verwenden, z. B. den Zugriff auf Azure Key Vault zum Speichern von Testschlüsselparametern oder Zertifikaten, den Zugriff auf Azure Monitor-Metriken zum Konfigurieren von Fehlerkriterien oder das Simulieren von verwalteten identitätsbasierten Authentifizierungsflüssen.
Testen
Ein Test beschreibt die Auslastungstestkonfiguration für Ihre Anwendung. Sie fügen einer vorhandenen Azure-Auslastungstestressource einen Test hinzu.
Ein Test enthält einen Testplan, der die Schritte zum Aufrufen des Anwendungsendpunkts beschreibt. Sie können den Testplan auf eine von drei Arten definieren:
- Laden Sie ein JMeter-Testskript hoch.
- Laden Sie ein Locust-Testskript hoch.
- Geben Sie die Liste der zu testenden URL-Endpunkte an.
Azure Load Testing unterstützt alle Kommunikationsprotokolle, die JMeter und Locust unterstützen, nicht nur HTTP-basierte Endpunkte. Sie können z. B. aus einer Datenbank oder Nachrichtenwarteschlange im Testskript lesen oder in eine Nachrichtenwarteschlange schreiben.
Azure Load Testing unterstützt derzeit keine anderen Testframeworks als Apache JMeter und Locust.
Der Test gibt außerdem die Konfigurationseinstellungen für die Ausführung des Auslastungstests an:
- Laden von Testparametern wie Umgebungsvariablen, geheimen Schlüsseln und Zertifikaten.
- Laden Sie die Konfiguration, um den Auslastungstest auf mehrere Instanzen des Testmoduls zu skalieren.
- Fehlerkriterien , um zu bestimmen, wann der Test bestanden werden soll oder fehlschlägt.
- Überwachungseinstellungen zum Konfigurieren der Liste der Azure-App-Komponenten und Ressourcenmetriken, die während der Testausführung überwacht werden sollen.
Darüber hinaus können Sie CSV-Eingabedatendateien und Testkonfigurationsdateien in den Ladetest hochladen.
Wenn Sie einen Test starten, stellt Azure Load Testing das Testskript, verwandte Dateien und die Konfiguration für die Testmodulinstanzen bereit. Die Testmodulinstanzen initiieren dann das Testskript, um die Anwendungslast zu simulieren.
Jedes Mal, wenn Sie einen Test starten, erstellt Azure Load Testing eine Testausführung und fügt sie an den Test an.
Testlauf
Eine Testausführung stellt eine Ausführung eines Auslastungstests dar. Wenn Sie einen Test ausführen, enthält die Testausführung eine Kopie der Konfigurationseinstellungen aus dem zugeordneten Test.
Nach Abschluss der Testausführung können Sie die Testergebnisse im Azure Load Testing-Dashboard im Azure-Portal anzeigen und analysieren.
Alternativ können Sie die Testprotokolle herunterladen und die Testergebnisdatei exportieren.
Von Bedeutung
Wenn Sie einen Test aktualisieren, erben die vorhandenen Testausführungen nicht automatisch die neuen Einstellungen vom Test. Die neuen Einstellungen werden nur bei neuen Testläufen verwendet, wenn Sie den Test ausführen. Wenn Sie eine vorhandene Testausführungerneut ausführen, werden die ursprünglichen Einstellungen des Testlaufs verwendet.
Testmodul
Ein Testmodul ist die Computerinfrastruktur, die von Microsoft verwaltet wird, die das Testskript ausführt. Die Testmodulinstanzen führen das Testskript parallel aus. Sie können den Auslastungstest skalieren , indem Sie die Anzahl der Testmodulinstanzen konfigurieren. Erfahren Sie, wie Sie die Anzahl virtueller Benutzer konfigurieren oder eine Zielanzahl von Anforderungen pro Sekunde simulieren.
Die Testmodule werden an demselben Speicherort wie Ihre Azure Load Testing-Ressource gehostet. Sie können die Azure-Region konfigurieren, wenn Sie die Azure-Auslastungstestressource erstellen.
Azure Load Testing verwendet Standard_D4d_v4 Größe virtueller Computer mit vier vCPUs, 16 GB Arbeitsspeicher und Azure Linux-Betriebssystem als Testmodule. Für JMeter-basierte Tests verwenden die Testmodule JDK 21 und Apache JMeter, Version 5.6.3. Bei Locust-basierten Tests verwenden die Testmodule Python 3.9.19 und Locust, Version 2.33.2.
Während das Testskript ausgeführt wird, sammelt und aggregiert Azure Load Testing die Testframeworkprotokolle aus allen Testmodulinstanzen. Sie können die Protokolle zum Analysieren von Fehlern während des Ladetests herunterladen.
App-Komponente
Wenn Sie einen Auslastungstest für eine von Azure gehostete Anwendung ausführen, können Sie Ressourcenmetriken für die verschiedenen Azure-Anwendungskomponenten (serverseitige Metriken) überwachen. Während der Auslastungstest und nach Abschluss des Tests ausgeführt wird, können Sie die Ressourcenmetriken im Azure Load Testing-Dashboard überwachen und analysieren.
Wenn Sie einen Ladetest erstellen oder aktualisieren, können Sie die Liste der App-Komponenten konfigurieren, die Von Azure Load Testing überwacht werden. Sie können die Liste der Standardressourcenmetriken für jede App-Komponente ändern.
Erfahren Sie mehr darüber, welche Azure-Ressourcentypen von Azure Load Testingunterstützt werden.
Metriken
Während eines Auslastungstests sammelt Azure Load Testing Metriken zur Testausführung. Es gibt zwei Arten von Metriken:
Clientseitige Metriken werden von den Testmodulen gemeldet. Diese Metriken umfassen die Anzahl der virtuellen Benutzer, die Anforderungsantwortzeit, die Anzahl der fehlgeschlagenen Anforderungen oder die Anzahl der Anforderungen pro Sekunde. Sie können Testfehlerkriterien basierend auf diesen clientseitigen Metriken definieren.
Serverseitige Metriken sind für von Azure gehostete Anwendungen verfügbar und stellen Informationen zu Ihren Azure-Anwendungskomponenten bereit. Azure Load Testing integriert sich in Azure Monitor, einschließlich Anwendungseinblicke und Containereinblicke, um Details aus den Azure-Diensten zu erfassen. Je nach Diensttyp sind unterschiedliche Metriken verfügbar. Beispielsweise können Metriken für die Anzahl der Datenbanklesevorgänge, den Typ der HTTP-Antworten oder den Ressourcenverbrauch von Containern sein. Sie können Auch Testfehlerkriterien basierend auf diesen serverseitigen Metriken definieren.
Verwandte Inhalte
Sie kennen jetzt die wichtigsten Konzepte von Azure Load Testing, um mit dem Erstellen eines Ladetests zu beginnen.
- Erfahren Sie, wie Azure Load Testing funktioniert.
- Erfahren Sie, wie Sie einen URL-basierten Ladetest für eine Website erstellen und ausführen.
- Erfahren Sie, wie Sie einen Leistungsengpässe in einer Azure-Anwendung identifizieren.
- Erfahren Sie, wie Sie automatisierte Regressionstests mit CI/CD einrichten.