Share via


Wichtige Konzepte für neue Benutzer von Azure Load Testing

Erfahren Sie mehr über die wichtigsten Konzepte und Komponenten von Azure Load Testing. Mithilfe dieser Informationen können Sie Auslastungstests effektiver einrichten, um Leistungsprobleme 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 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 Anforderung 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. Das folgende Diagramm gibt einen Überblick darüber, wie die verschiedenen Konzepte miteinander zusammenhängen.

Diagramm, das zeigt, wie die verschiedenen Konzepte in Azure Load Testing miteinander zusammenhängen.

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 Parameter oder Zertifikate für Auslastungstests 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-Ressource für einen Auslastungstest 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:

Azure Load Testing unterstützt alle Kommunikationsprotokolle, die JMeter unterstützt, nicht nur HTTP-basierte Endpunkte. Sie können im Testskript z. B. aus einer Datenbank oder Nachrichtenwarteschlange lesen oder in diese schreiben.

Azure Load Testing unterstützt derzeit keine anderen Testframeworks als Apache JMeter und Locust.

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

Darüber hinaus können Sie CSV-Eingabedatendateien und Testkonfigurationsdateien in den Auslastungstest hochladen.

Wenn Sie einen Test starten, stellt Azure Load Testing das Testskript, die zugehörigen Dateien und die Konfiguration für die Test-Engine-Instanzen bereit. Die Test-Engine-Instanzen initiieren dann das 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 Auslastungstestergebnisse 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 Testskript ausführt. Die Test-Engine-Instanzen führen das 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 Testframeworkprotokolle 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 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.

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