Wichtige Konzepte für neue Benutzer*innen der Vorschauversion von Azure Load Testing

Erfahren Sie mehr über die wichtigsten Konzepte und Komponenten der Vorschauversion von Azure Load Testing. Damit können Sie Auslastungstests effektiver einrichten, um Leistungsprobleme Ihrer Anwendung zu identifizieren.

Wichtig

Azure Load Testing befindet sich derzeit in der VORSCHAUPHASE. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Allgemeine Konzepte des 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 bezeichnet virtuelle Benutzer auch als Threads. Im JMeter-Testskript können Sie mit einem Threadgruppen-Element den Pool virtueller Benutzer angeben. Weitere Informationen zu Threadgruppen finden Sie in der Apache JMeter-Dokumentation.

Die Gesamtzahl der virtuellen Benutzer für Ihren Auslastungstest hängt von der Anzahl der virtuellen Benutzer im Testskript und der Anzahl der Test-Engine-Instanzen ab.

Die Formel lautet: Gesamtanzahl virtueller Benutzer = (virtuelle Benutzer in der JMX-Datei) · (Anzahl der Test-Engine-Instanzen).

Sie können die Zielanzahl virtueller Benutzer erreichen, indem Sie die Anzahl der Test-Engine-Instanzen, die Anzahl der virtuellen Benutzer im Testskript oder eine Kombination aus beidem konfigurieren.

Hochlaufzeit

Die Hochlaufzeit ist die Zeitspanne, die benötigt wird, um die volle Anzahl virtueller Benutzer für den Auslastungstest zu erreichen. Wenn die Anzahl der virtuellen Benutzer 20 und die Hochlaufzeit 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.

Antwortzeit

Die Antwortzeit einer einzelnen Anforderung oder die verstrichene Zeit in JMeter ist die Gesamtzeit von kurz vor dem Senden der Anforderung bis kurz 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 Auslastungstests nicht verarbeitet.

Latency

Die Wartezeit einer einzelnen Anforderung ist die Gesamtzeit kurz vor dem Senden der Anfrage bis kurz nach dem Empfang der ersten Antwort. Die Wartezeit 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 ist die Gesamtzahl der Anforderungen an die Serveranwendung, die Ihr Auslastungstest pro Sekunde generiert.

Die Formel lautet: RPS = (Anzahl der Anforderungen) / (Gesamtzeit in Sekunden).

Die Zeit wird vom Anfang des ersten Beispiels bis zum Ende des letzten Beispiels berechnet. Diese Zeit umfasst alle Intervalle zwischen den Beispielen, z. B. wenn das Testskript Timer enthält.

Eine weitere Möglichkeit zum Berechnen der RPS basiert auf der durchschnittlichen Wartezeit der Anwendung und der Anzahl der virtuellen Benutzer. Um eine bestimmte Anzahl von RPS mit einem Auslastungstest zu simulieren, können Sie angesichts der Wartezeit der Anwendung die erforderliche Anzahl virtueller Benutzer berechnen.

Die Formel lautet: Virtuelle Benutzer = (RPS) · (Wartezeit in Sekunden).

Bei einer Wartezeit der Anwendung von 20 Millisekunden (0,02 Sekunden) sollten Sie beispielsweise den Auslastungstest mit 2.000 virtuellen Benutzern (100.000 · 0,02) konfigurieren, um 100.000 RPS zu simulieren.

Azure Load Testing-Komponenten

Erfahren Sie mehr über die wichtigsten Konzepte und Komponenten von Azure Load Testing.

Load Testing-Ressource

Die Azure Load Testing-Ressource ist die Ressource der obersten Ebene für Ihre Auslastungstestaktivitäten. Diese Ressource bietet einen zentralen Ort zum Anzeigen und Verwalten von Auslastungstests, Testergebnissen und verwandten Artefakten.

Wenn Sie eine Load Testing-Ressource erstellen, geben Sie deren Standort an, der den Standort der Test-Engines bestimmt. Azure Load Testing verschlüsselt automatisch alle Artefakte in Ihrer Ressource. Sie können zwischen von Microsoft verwalteten Schlüsseln wählen oder Ihre eigenen kundenseitig verwalteten Schlüssel für die Verschlüsselung verwenden.

Um einen Auslastungstest für Ihre Anwendung auszuführen, fügen Sie Ihrer Auslastungstestressource einen Test hinzu. Eine Ressource kann null oder mehr Tests enthalten.

Sie können die rollenbasierte Zugriffssteuerung in Azure verwenden, um Zugriff auf Ihre Auslastungstestressource und zugehörige Artefakte zu gewähren.

Mit Azure Load Testing können Sie mit verwalteten Identitäten auf andere Azure-Ressourcen zugreifen, z. B. Azure Key Vault zum Speichern von Geheimnisparametern für Auslastungstests. Sie können entweder eine benutzer- oder systemseitig zugewiesene verwaltete Identität verwenden.

Test

Ein Test stellt einen Auslastungstest für Ihre Anwendung dar. Ein Test wird an eine Azure-Auslastungstestressource angefügt. Ein Test kann auf zwei Arten erstellt werden:

Ein Test enthält ein JMeter-Testskript oder einen Testplan sowie zugehörige Daten und Konfigurationsdateien. Der Test gibt auch die Konfigurationseinstellungen für die Ausführung des Auslastungstests an:

Wenn Sie einen Test starten, stellt Azure Load Testing das JMeter-Testskript, die zugehörigen Dateien und die Konfiguration für die angeforderten Test-Engine-Instanzen bereit. Die Test-Engine-Instanzen initiieren dann das JMeter-Testskript, um die Anwendungsauslastung zu simulieren.

Jedes Mal, wenn Sie einen Test starten, erstellt Azure Load Testing einen Testlauf und fügt ihn an den Test an.

Test-Engine

Eine Test-Engine ist eine von Microsoft verwaltete Computinginfrastruktur, die das Apache JMeter-Testskript ausführt. Die Test-Engine-Instanzen führen das JMeter-Skript parallel aus. Sie können den Auslastungstest aufskalieren, indem Sie die Anzahl der Test-Engine-Instanzen konfigurieren. Erfahren Sie, wie Sie die Anzahl virtueller Benutzer konfigurieren oder eine Zielanzahl von Anforderungen pro Sekunde simulieren.

Die Test-Engines werden am gleichen Standort wie Ihre Azure Load Testing-Ressource gehostet. Sie können die Azure-Region konfigurieren, wenn Sie die Azure-Auslastungstestressource erstellen.

Während das Testskript ausgeführt wird, sammelt und aggregiert Azure Load Testing die Apache JMeter-Workerprotokolle von allen Test-Engine-Instanzen. Sie können die Protokolle zum Analysieren von Fehlern während des Auslastungstests herunterladen.

Testlauf

Ein Testlauf stellt eine Ausführung eines Auslastungstests dar. Er erfasst die Protokolle, die der Ausführung des Apache JMeter-Skripts zugeordnet sind, die YAML-Konfiguration des Auslastungstests, die Liste der zu überwachenden App-Komponenten und die Ergebnisse des Tests.

Sie können die Auslastungstestergebnisse auf dem Azure Load Testing-Dashboard im Azure-Portal anzeigen und analysieren.

Wichtig

Vorhandene Testläufe verwenden beim Aktualisieren eines Tests nicht die neuen Einstellungen. Wenn Sie einen vorhandenen Testlauf erneut ausführen, wird die anfängliche Konfiguration des Testlaufs verwendet. Die neuen Einstellungen werden nur verwendet, wenn Sie den Test ausführen.

App-Komponente

Wenn Sie einen Auslastungstest für eine in Azure gehostete Anwendung ausführen, können Sie Ressourcenmetriken für die verschiedenen Azure-Anwendungskomponenten (serverseitige Metriken) überwachen. Sie können während des Auslastungstests und nach seinem Abschluss die Ressourcenmetriken auf dem Azure Load Testing-Dashboard überwachen und analysieren.

Wenn Sie einen Auslastungstest 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 Testing unterstützt werden.

Metriken

Während eines Auslastungstests sammelt Azure Load Testing Metriken zur Testausführung. Es gibt zwei Typen von Metriken:

  • Clientseitige Metriken werden von den Test-Engines gemeldet. Zu diesen Metriken gehören die Anzahl der virtuellen Benutzer*innen, die Antwortzeit auf Anforderungen, die Anzahl fehlerhafter Anforderungen oder die Anzahl der Anforderungen pro Sekunde. Basierend auf diesen clientseitigen Metriken können Sie Testfehlerkriterien definieren .

  • Serverseitige Metriken sind für in Azure gehostete Anwendungen verfügbar und enthalten Informationen zu Ihren Azure-Anwendungskomponenten. Azure Load Testing ist zum Erfassen von Details aus den Azure-Diensten in Azure Monitor sowie Application Insights und Container Insights integriert. Je nach Diensttyp sind verschiedene Metriken verfügbar. Metriken können beispielsweise für die Anzahl der Lesevorgänge in Datenbanken, den Typ der HTTP-Antworten oder den Verbrauch von Containerressourcen verwendet werden.

Nächste Schritte

Sie kennen jetzt die wichtigsten Konzepte von Azure Load Testing und können mit dem Erstellen eines Auslastungstests beginnen.