Wichtige Konzepte für neue Azure Load Testing-Benutzer

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 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 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.

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 Auslastungstests nicht verarbeitet.

Latency

Die Latenz einer einzelnen Anforderung ist die Gesamtzeit unmittelbar vor dem Senden der Anforderung direkt 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 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.

Diagram that shows how the different concepts in Azure Load Testing relate to one another.

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 mithilfe von verwalteten Identitäten auf Azure Key Vault zugreifen, um geheime Testparameter oder Zertifikate zu speichern. Sie können entweder eine benutzer- oder systemseitig zugewiesene verwaltete Identität verwenden.

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 zwei Arten definieren:

Azure Load Testing unterstützt alle Kommunikationsprotokolle, die JMeter unterstützt, 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.

Der Test gibt auch die Konfigurationseinstellungen für die Ausführung des Auslastungstests an:

Darüber hinaus können Sie CSV-Eingabedatendateien und JMeter-Konfigurationsdateien in den Test hochladen.

Wenn Sie einen Test starten, stellt Azure Load Testing das JMeter-Testskript, verwandte Dateien und die Konfiguration für die Testmodulinstanzen 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.

Testlauf

Ein Testlauf 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 Ergebnisse des Auslastungstests im Azure Load Testing-Dashboard im Azure-Portal anzeigen und analysieren.

Alternativ können Sie die Testprotokolle herunterladen und die Testergebnisdatei exportieren.

Wichtig

Wenn Sie einen Test aktualisieren, erben die vorhandenen Testausführungen nicht automatisch die neuen Einstellungen vom Test. Die neuen Einstellungen werden nur von neuen Testläufen verwendet, wenn Sie den Test ausführen. Wenn Sie eine vorhandene Testausführung erneut ausführen, werden die ursprünglichen Einstellungen der Testausführung verwendet.

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.

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 Azure Load Testing unterstützt.

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.

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