Exportieren von Testergebnissen aus Azure Load Testing für die Verwendung in Drittanbietertools
In diesem Artikel erfahren Sie, wie Sie Ihre Azure Load Testing-Testergebnisse und -berichte exportieren. Sie können die Ergebnisse mithilfe des Azure-Portals, als Artefakt in Ihrem CI/CD-Workflow, in JMeter mithilfe eines Back-End-Listeners oder durch Kopieren der Ergebnisse aus einem Azure-Speicherkonto herunterladen. Sie können diese Ergebnisse für die Berichterstellung in Drittanbietertools oder für die Diagnose von Testfehlern verwenden. Azure Load Testing generiert die Testergebnisse im CSV-Dateiformat (Comma Separated Values, durch Trennzeichen getrennte Werte) und enthält Details zu jeder Anwendungsanforderung für den Auslastungstest.
Sie können die Testergebnisse auch verwenden, um Fehler während eines Auslastungstests zu diagnostizieren. Die Felder responseCode
und responseMessage
bieten Ihnen weitere Informationen zu fehlgeschlagenen Anforderungen. Weitere Informationen zum Untersuchen von Fehlern finden Sie unter Diagnostizieren von fehlerhaften Auslastungstests in Azure Load Testing.
Sie können das Apache JMeter-Dashboard aus der CSV-Protokolldatei generieren, indem Sie die hier beschriebenen Schritte ausführen.
Sie können auch das Azure Load Testing Result Dashboard als HTML-Bericht für die Offlineanzeige und Zusammenarbeit herunterladen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
- Eine Azure Load Testing-Ressource, die über einen abgeschlossenen Testlauf verfügt. Wenn Sie eine Azure Load Testing-Ressource erstellen müssen, lesen Sie Erstellen und Ausführen eines Auslastungstests.
Format der Testergebnisdatei
Azure Load Testing generiert eine CSV-Testergebnisdatei für jede Testmodulinstanz. Erfahren Sie, wie Sie den Auslastungstest aufskalieren können.
Azure Load Testing verwendet das CSV-Protokollformat von Apache JMeter. Weitere Informationen zu den verschiedenen Feldern finden Sie im JMeter-Glossar in der Apache JMeter-Dokumentation.
Sie finden die Details der einzelnen Anwendungsanforderungen für den Auslastungstestlauf in der Testergebnisdatei. Der folgende Codeschnipsel zeigt ein Beispieltestergebnis:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1676040230680,104,Homepage,200,OK,172.18.33.7-Thread Group 1-5,text,true,,1607,133,5,5,https://www.example.com/,104,0,100
1676040230681,101,Homepage,200,OK,172.18.33.7-Thread Group 1-3,text,true,,1591,133,5,5,https://www.example.com/,101,0,93
1676040230680,101,Homepage,200,OK,172.18.33.7-Thread Group 1-1,text,true,,1591,133,5,5,https://www.example.com/,98,0,94
Zugreifen auf und Herunterladen von Auslastungstestergebnissen und Bericht
Nach Abschluss eines Auslastungstestlaufs können Sie die Auslastungstestergebnisse und den HTML Bericht über das Azure-Portal oder als Artefakt in Ihrem CI/CD-Workflow abrufen oder herunterladen.
Wichtig
Bei Auslastungstests mit mehr als 45 Modulinstanzen oder einer Dauer des Testlaufs von mehr als 3 Stunden ist die Ergebnisdatei nicht zum Download verfügbar. Sie können einen JMeter-Back-End-Listener so konfigurieren, dass die Ergebnisse in einen Datenspeicher Ihrer Wahl exportiert werden, oder die Ergebnisse aus einem Speicherkontocontainer kopieren. Bei Tests mit Samplern, die größer als 30 sind, enthält der heruntergeladene HTML-Bericht nur Diagramme für Daten, die über alle Sampler aggregiert wurden. Diagramme zeigen keine Samplerdaten an. Darüber hinaus unterstützt der heruntergeladene Bericht keine Diagramme, die serverseitigen Metriken entsprechen.
So laden Sie die Testergebnisse und den HTML-Bericht für eine Testausführung im Azure-Portal herunter:
Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.
Wählen Sie im linken Bereich Tests aus, um eine Liste der Tests anzuzeigen, und wählen Sie dann Ihren Test aus.
Tipp
Sie können das Suchfeld und den Filter Zeitbereich verwenden, um die Anzahl der Tests einzuschränken.
Sie können die Testergebnisdatei auf zwei Arten als gezippten Ordner herunterladen:
Wählen Sie die Auslassungszeichen (...) neben dem Auslastungstestlauf aus, mit dem Sie arbeiten, und wählen Sie dann Ergebnisdatei herunterladen aus.
Hinweis
Ein Auslastungstestlauf muss den Status Fertig, Beendet oder Fehler aufweisen, damit die Ergebnisdatei zum Download verfügbar ist.
Wählen Sie Herunterladen im Bereich Testlauf Detailbereich aus. Um die Ergebnisse herunterzuladen, wählen Sie Ergebnisse aus. Um den HTML-Bericht herunterzuladen, wählen Sie Bericht aus.
Sie können ein beliebiges ZIP-Tool verwenden, um den Ordner zu extrahieren und auf die heruntergeladenen Dateien zuzugreifen.
Der Ergebnisordner enthält eine separate CSV-Datei für jedes Testmodul sowie Details zu Anforderungen, die das Testmodul während des Auslastungstests ausgeführt hat.
Der Berichtsordner enthält eine HTML-Datei, die eine Zusammenfassung der Testausführung und Diagramme der Leistungsmetriken für die Offlineanzeige und Zusammenarbeit bereitstellt.
Exportieren von Testergebnissen mithilfe von JMeter-Back-End-Listenern
Sie können einen JMeter-Back-End-Listener verwenden, um Testergebnisse in Datenbanken wie InfluxDB oder MySQL oder in Überwachungstools wie Azure Application Insights zu exportieren.
Sie können die standardmäßigen JMeter-Back-End-Listener, Back-End-Listener von jmeter-plugins.org oder einen benutzerdefinierten Back-End-Listener in Form einer Java-Archivdatei (JAR) verwenden.
Der folgende Codeschnipsel zeigt ein Beispiel für die Verwendung des Back-End-Listeners für Azure Application Insights in einer JMeter-Datei (JMX):
<BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="Backend Listener" enabled="true">
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="testName" elementType="Argument">
<stringProp name="Argument.name">testName</stringProp>
<stringProp name="Argument.value">jmeter</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="connectionString" elementType="Argument">
<stringProp name="Argument.name">connectionString</stringProp>
<stringProp name="Argument.value">Enter your AppInsights connection string</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="liveMetrics" elementType="Argument">
<stringProp name="Argument.name">liveMetrics</stringProp>
<stringProp name="Argument.value">true</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="samplersList" elementType="Argument">
<stringProp name="Argument.name">samplersList</stringProp>
<stringProp name="Argument.value"></stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="useRegexForSamplerList" elementType="Argument">
<stringProp name="Argument.name">useRegexForSamplerList</stringProp>
<stringProp name="Argument.value">false</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="logResponseData" elementType="Argument">
<stringProp name="Argument.name">logResponseData</stringProp>
<stringProp name="Argument.value">OnFailure</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="logSampleData" elementType="Argument">
<stringProp name="Argument.name">logSampleData</stringProp>
<stringProp name="Argument.value">OnFailure</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="classname">io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient</stringProp>
</BackendListener>
Sie können das vollständige Beispiel für die Verwendung des Azure Application Insights-Back-End-Listeners herunterladen.
Kopieren von Testartefakten aus einem Speicherkontocontainer
Wichtig
Das Kopieren von Testartefakten aus einem Speicherkontocontainer ist nur für Auslastungstests mit mehr als 45 Modulinstanzen oder mit einer Testlaufdauer von mehr als drei Stunden aktiviert.
So kopieren Sie die Testergebnisse und Protokolldateien für einen Testlauf aus einem Speicherkonto im Azure-Portal:
Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.
Wählen Sie im linken Bereich Tests aus, um eine Liste der Tests anzuzeigen, und wählen Sie dann Ihren Test aus.
Wählen Sie in der Liste der Testläufe Ihren Testlauf aus.
Tipp
Sie können das Suchfeld und den Filter Zeitbereich verwenden, um die Anzahl der Tests einzuschränken.
Wählen Sie im Bereich Testlaufdetails die Option Artefakte kopieren aus.
Hinweis
Ein Auslastungstestlauf muss den Status Fertig, Beendet oder Fehler aufweisen, damit die Ergebnisdatei zum Download verfügbar ist.
Kopieren Sie die SAS-URL des Speicherkontocontainers.
Sie können die SAS-URL im Azure Storage-Explorer oder AzCopy verwenden, um die CSV-Ergebnisdateien und die Protokolldateien für den Testlauf in Ihr Speicherkonto zu kopieren.
Die SAS-URL ist ab dem Zeitpunkt, zu dem sie generiert wird, 60 Minuten lang gültig. Wenn die URL abläuft, wählen Sie Artefakte kopieren aus, um eine neue SAS-URL zu generieren.
Zugehöriger Inhalt
- Erfahren Sie mehr über die Diagnose von fehlerhaften Auslastungstests.
- Lesen Sie weitere Informationen zum Vergleichen mehrerer Testläufe.
- Erfahren Sie mehr über das Konfigurieren automatisierter Leistungstests in Azure Pipelines.