Freigeben über


Definieren von Fehlerkriterien für Auslastungstests mithilfe von Azure Load Testing

In diesem Artikel erfahren Sie, wie Sie Fehlerkriterien oder Kriterien für ein automatisches Beenden für Ihre Auslastungstests mit Azure Load Testing definieren. Fehlerkriterien ermöglichen Ihnen die Definition von Leistungs- und Qualitätserwartungen an Ihre Anwendung unter Last. Azure Load Testing unterstützt verschiedene Client- und Servermetriken zum Definieren von Fehlerkriterien, z. B. Fehlerrate oder CPU-Prozentsatz für eine Azure-Ressource. Mit AutpStop-Kriterien können Sie Ihre Auslastungstestausführung automatisch beenden, wenn die Fehlerrate einen bestimmten Schwellenwert überschreitet.

Voraussetzungen

Fehlerkriterien für Auslastungstests

Auslastungstest-Fehlerkriterien sind Bedingungen für Metriken, die der Test erfüllen soll. Sie definieren Testkriterien in Azure Load Testing auf Ebene des Auslastungstests. Ein Auslastungstest kann mehrere Testkriterien aufweisen. Wenn mindestens eines der Testkriterien als TRUE ausgewertet wird, erhält der Auslastungstest den Status Fehler.

Sie können maximal 50 Testkriterien für einen Auslastungstest definieren. Wenn es mehrere Kriterien für dieselbe Metrik gibt, wird das Kriterium mit dem niedrigsten Schwellenwert verwendet.

Fehlerkriterienstruktur für Clientmetriken

Das Format von Fehlerkriterien in Azure Load Testing entspricht dem einer bedingten Anweisung für eine unterstützte Metrik. Stellen Sie beispielsweise sicher, dass die durchschnittliche Anzahl von Anforderungen pro Sekunde größer als 500 ist.

Für clientseitige Metriken können Sie Testkriterien auf zwei Ebenen definieren. In einem Auslastungstest können Kriterien auf den unterschiedlichen Ebenen kombiniert werden.

  • Auf Ebene des Auslastungstests. Hier kann beispielsweise sichergestellt werden, dass der Gesamtfehleranteil einen Schwellenwert nicht überschreitet. Die Struktur für die Kriterien lautet: Aggregate_function (client_metric) condition threshold.
  • Auf Ebene der JMeter-Anforderungen (JMeter-Sampler). Sie können z. B. einen Antwortzeitschwellenwert für die Anforderung getProducts angeben, aber die Antwortzeit der Anforderung sign in ignorieren. Die Struktur für die Kriterien lautet: Request: Aggregate_function (client_metric) condition threshold.

In der folgenden Tabelle werden die verschiedenen Komponenten beschrieben:

Parameter BESCHREIBUNG
Client metric Erforderlich. Die Clientmetrik, auf die die Kriterien angewandt werden sollen.
Aggregate function Erforderlich. Die Aggregatfunktion, die auf die Clientmetrik angewendet werden soll.
Condition Erforderlich. Der Vergleichsoperator, z. B. greater than oder less than.
Threshold Erforderlich. Der numerische Wert, der mit der Clientmetrik verglichen werden soll.
Request Optional. Der Name des Samplers im JMeter-Skript, auf das das Kriterium angewendet wird. Wenn Sie keinen Anforderungsnamen angeben, gilt das Kriterium für das Aggregat aller Anforderungen im Skript.
Fügen Sie keine personenbezogenen Daten in den Samplernamen in Ihr JMeter-Skript ein. Die Samplernamen werden im Azure Load Testing-Ergebnisdashboard angezeigt.

Unterstützte Clientmetriken für Fehlerkriterien

Azure Load Testing unterstützt die folgenden Clientmetriken:

Metrik Aggregate-Funktion Schwellenwert Condition Beschreibung
response_time_ms avg (Durchschnitt)
min (Minimum)
max (Maximum)
pxx (Perzentil), xx kann 50, 75, 90, 95, 96, 97, 98, 99, 999 und 9.999 sein
Integerwert, der die Anzahl der Millisekunden (ms) darstellt. > (größer als)
< (kleiner als)
Antwortzeit oder verstrichene Zeit in Millisekunden. Erfahren Sie mehr über verstrichene Zeit in der Apache JMeter-Dokumentation.
latency avg (Durchschnitt)
min (Minimum)
max (Maximum)
pxx (Quantil), xx kann 50, 90, 95, 99 sein
Integerwert, der die Anzahl der Millisekunden (ms) darstellt. > (größer als)
< (kleiner als)
Wartezeit in Millisekunden. Erfahren Sie mehr über Wartezeit in der Apache JMeter-Dokumentation.
error percentage Numerischer Wert im Bereich von 0 bis 100, der einen Prozentsatz darstellt. Größer als > Prozentanteil der fehlerhaften Anforderungen.
requests_per_sec avg (Durchschnitt) Numerischer Wert mit bis zu zwei Dezimalstellen. > (Größer als)
< (kleiner als)
Anzahl der Anforderungen pro Sekunde.
requests count Wert für ganze Zahl. > (Größer als)
< (kleiner als)
Gesamtanzahl der Anforderungen.

Definieren von Fehlerkriterien für Auslastungstests für Clientmetriken

In diesem Abschnitt erfahren Sie, wie Sie Testkriterien für Clientmetrik für einen Auslastungstest im Azure-Portal konfigurieren.

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.

  2. Wählen Sie im linken Bereich Tests aus, um die Liste der Auslastungstests anzuzeigen.

  3. Wählen Sie in der Liste Ihren Auslastungstest und dann Bearbeiten aus.

    Screenshot der Liste der Tests für eine Azure Load Testing-Ressource im Azure-Portal mit hervorgehobener Schaltfläche „Bearbeiten“.

  4. Füllen Sie im Bereich Testkriterien die Werte Metrik, Aggregatfunktion, Bedingung und Schwellenwert für Ihren Test aus.

    Screenshot des Bereichs „Testkriterien“ für einen Auslastungstest im Azure-Portal mit hervorgehobenen Feldern zum Hinzufügen eines Testkriteriums.

    Geben Sie optional die Informationen für die Anforderungsnamen ein, um ein Testkriterium für eine bestimmte JMeter-Anforderung hinzuzufügen. Der Wert sollte dem Namen des JMeter-Samplers in der JMX-Datei entsprechen.

    Screenshot der JMeter-Benutzeroberfläche mit hervorgehobenem Anforderungsnamen.

  5. Wählen Sie Übernehmen aus, um die Änderungen zu speichern.

    Wenn Sie jetzt den Auslastungstest ausführen, ermittelt Azure Load Testing den Ausführungsstatus des Auslastungstests über die Testkriterien.

  6. Führen Sie den Test aus, und zeigen Sie den Status im Dashboard für den Auslastungstest an.

    Auf dem Dashboard werden die einzelnen Testkriterien mit dem jeweiligen Status angezeigt. Der Gesamtteststatus ist „Fehlgeschlagen“, wenn mindestens ein Kriterium erfüllt wurde.

    Screenshot: Testkriterien im Dashboard „Auslastungstest“.

Zugreifen auf App-Komponente für Testkriterien für Servermetriken

Wenn Sie Fehlerkriterien für eine Metrik in Ihrer App-Komponente festlegen, verwendet Ihre Auslastungstestressource eine verwaltete Identität für den Zugriff auf diese Komponente. Nachdem Sie die verwaltete Identität konfiguriert haben, müssen Sie der verwalteten Identität Ihrer Auslastungstestressource Berechtigungen erteilen, diese Werte aus der Key Vault-Instanz zu lesen.

So erteilen Sie Ihrer Azure Load Testing-Ressource Berechtigungen zum Lesen der Metriken aus Ihrer App-Komponente:

  1. Navigieren Sie im Azure-Portal zu Ihrer App-Komponente.

  2. Wählen Sie im linken Bereich Zugriffssteuerung (IAM) und anschließend + Hinzufügen und Rollenzuweisung hinzufügen aus.

    Screenshot der Zugriffssteuerung (IAM) in der Anwendungskomponente, für die Fehlerkriterien festgelegt werden sollen.

  3. Suchen Sie auf der Registerkarte Rolle unter Auftragsfunktionsrollen nach Benutzer mit Leseberechtigung für Überwachungsdaten oder Mitwirkender an der Überwachung.

  4. Wählen Sie auf der Registerkarte Mitglieder unter Zugriff zuweisen zu die Option Verwaltete Identität aus.

  5. Klicken Sie auf Mitglieder auswählen, suchen Sie nach der verwalteten Identität für die Auslastungstestressource, und wählen Sie sie aus, und wählen Sie dann Weiter aus. Wenn Sie eine systemseitig zugewiesene verwaltete Identität verwenden, entspricht der Name dem Ihrer Azure Load Testing-Ressource.

  6. Wählen Sie Überprüfen und zuweisen aus, um der Identität die Berechtigung zuzuweisen.

    Screenshot des Zuweisens der Berechtigungen zum Lesen von Metriken in der Auslastungstestressource.

Wenn Ihr Test ausgeführt wird, kann die verwaltete Identität, die Ihrer Auslastungstestressource zugeordnet ist, die Metriken für den Auslastungstest aus der App-Komponente lesen.

Definieren von Fehlerkriterien für Auslastungstests für Servermetriken

Wichtig

Azure Load Testing unterstützt das Konfigurieren von Fehlerkriterien in serverseitigen Metriken aus Azure Pipelines/GitHub Actions nicht.

In diesem Abschnitt erfahren Sie, wie Sie Testfehlerkriterien für serverseitige Metriken für einen Auslastungstest im Azure-Portal konfigurieren.

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.

  2. Wählen Sie Test erstellen aus.

  3. Auf der Registerkarte Überwachung konfigurieren Sie die App-Komponenten, die Sie während des Tests überwachen möchten.

  4. Konfigurieren Sie die Metrikreferenzidentität. Die Identität kann die vom System zugewiesene Identität der Auslastungstestressource oder eine der vom Benutzer zugewiesenen Identitäten sein. Stellen Sie sicher, dass Sie dieselbe Identität verwenden, der Sie zuvor Zugriff gewährt haben.

    Screenshot der Konfiguration der Metrikreferenzidentität.

  5. Füllen Sie im Bereich Testkriterien die Werte Ressourcen-ID, Namespace, Metrik, Aggregation, Bedingung, Schwellenwert für Ihren Test aus. Sie können Fehlerkriterien nur für die Ressourcen-/App-Komponenten festlegen, die Sie während des Tests überwachen.

    Screenshot der Konfiguration von Fehlerkriterien für Servermetriken.

  6. Wählen Sie Übernehmen aus, um die Änderungen zu speichern. Wenn Sie jetzt den Auslastungstest ausführen, ermittelt Azure Load Testing den Ausführungsstatus des Auslastungstests über die Testkriterien.

  7. Führen Sie den Test aus, und zeigen Sie den Status im Dashboard für den Auslastungstest an. Auf dem Dashboard werden die einzelnen Testkriterien mit dem jeweiligen Status angezeigt. Der Gesamtteststatus ist „Fehlgeschlagen“, wenn mindestens ein Kriterium erfüllt wurde.

    Screenshot des Dashboards mit Testergebnissen.

AutoStop-Konfiguration

Azure Load Testing beendet automatisch einen Auslastungstest, wenn der Fehlerprozentsatz einen bestimmten Schwellenwert für ein bestimmtes Zeitfenster überschreitet. Das automatische Beenden schützt Sie davor, dass Tests, bei denen Fehler auftreten, weitere Kosten verursachen, z. B. aufgrund einer falsch konfigurierten Endpunkt-URL.

In der Konfigurieration des Auslastungstests können Sie die Funktion zum automatischen Beenden aktivieren oder deaktivieren und den Schwellenwert für den Fehlerprozentsatz und das Zeitfenster konfigurieren. Standardmäßig beendet Azure Load Testing automatisch einen Auslastungstest mit einem Fehlerprozentsatz von mindestens 90 % während eines 60 Sekunden-Zeitfensters.

Sie können die Funktion zum automatischen Beenden von Azure Load Testing in Kombination mit einem AutoStop-Listener in Ihrem JMeter-Skript verwenden. Der Auslastungstest wird automatisch beendet, wenn eines der Kriterien in der AutoStopp-Konfiguration oder der JMeter AutoStop-Listener erfüllt ist.

Achtung

Wenn Sie das automatische Beenden für den Auslastungstest deaktivieren, fallen möglicherweise auch dann Kosten an, wenn der Auslastungstest falsch konfiguriert ist.

So konfigurieren Sie das automatische Beenden für Ihren Auslastungstest im Azure-Portal:

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.

  2. Wählen Sie im linken Bereich Tests aus, um die Liste der Auslastungstests anzuzeigen.

  3. Wählen Sie in der Liste Ihren Auslastungstest und dann Bearbeiten aus. Alternativ können Sie Erstellen > JMeter-Skript hochladen auswählen, wenn Sie einen neuen Test erstellen möchten.

  4. Wechseln Sie zur Registerkarte Testkriterien, um die Funktion für das automatische Beenden zu konfigurieren.

    • Aktivieren oder deaktivieren Sie das automatische Beenden des Auslastungstests mithilfe des Steuerelements Test automatisch beenden.

    • Wenn Sie das automatische Beenden aktivieren, können Sie die Felder Fehlerprozentsatz und Zeitfenster ausfüllen. Geben Sie das Zeitfenster in Sekunden an.

      Screenshot des Bereichs „Testkriterien“ für einen Auslastungstest im Azure-Portal, in dem die Funktion zum automatischen Beenden hervorgehoben wird

  5. Wählen Sie Anwenden oder Überprüfen + Erstellen aus, wenn Sie einen neuen Auslastungstest erstellen, um die Änderungen zu speichern.

Nächste Schritte