Exporter des résultats de tests à partir du service Test de charge Azure pour une utilisation avec des outils tiers
Dans cet article, vous allez apprendre à exporter vos résultats et rapports de Test de charge Azure. Vous pouvez télécharger les résultats à l’aide du portail Azure, en tant qu’artefact dans votre flux de travail CI/CD, dans JMeter à l’aide d’un écouteur principal ou en copiant les résultats à partir d’un compte de stockage Azure. Vous pouvez utiliser ces résultats pour la création de rapports dans des outils tiers ou pour diagnostiquer les échecs des tests. Les Tests de charge Azure génère les résultats de test au format de fichier csv (Valeurs séparées par des virgules) et fournit des détails sur chaque demande d’application pour le test de charge.
Vous pouvez également utiliser les résultats des tests pour diagnostiquer les erreurs pendant un test de charge. Les champs responseCode
et responseMessage
vous fournissent des informations supplémentaires sur les requêtes ayant échoué. Pour plus d’informations sur l’examen des erreurs, consultez Diagnostiquer les échecs de tests de charge.
Vous pouvez générer le tableau de bord Apache JMeter à partir du fichier journal CSV en suivant les étapes mentionnées ici.
Vous pouvez également télécharger le tableau de bord de résultat de Test de charge Azure sous forme de rapport HTML pour l’affichage hors connexion et la collaboration.
Prérequis
- Compte Azure avec un abonnement actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Ressource de Test de charge Azure disposant d’une série de tests terminée. Si vous avez besoin de créer une ressource de test de charge Azure, consultez Créer et exécuter un test de charge.
Format du fichier des résultats des tests
Le Test de charge Azure génère un fichier CSV de résultats de test pour chaque instance de moteur de test. Découvrez comment vous pouvez effectuer un scale-out de votre test de charge.
Le Test de charge Azure utilise le format journal CSV Apache JMeter. Pour plus d’informations sur les différents champs, consultez le glossaire JMeter dans la documentation Apache JMeter.
Vous trouverez les détails de chaque demande d’application pour l’exécution de la série du test de charge dans le fichier de résultats de test. L’extrait de code suivant montre un exemple de résultat de test :
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
Accéder aux résultats et rapports de tests de charge et les télécharger
Une fois l’exécution d’une série de tests de charge terminée, vous pouvez accéder aux résultats des tests de charge et au rapport HTML et les télécharger via le portail Azure, ou en tant qu’artefact dans votre flux de travail CI/CD.
Important
Pour les tests de charge comportant plus de 45 instances de moteur ou une durée d’exécution supérieure à 3 heures, le fichier de résultats n’est pas disponible pour le téléchargement. Vous pouvez configurer un écouteur principal JMeter pour exporter les résultats vers un magasin de données de votre choix ou copier les résultats à partir d’un conteneur de compte de stockage. Pour les tests avec plus de 30 échantillonneurs, le rapport HTML téléchargé comporte des graphiques uniquement pour les données agrégées sur tous les échantillonneurs. Les graphiques n’affichent pas les données à l’échelle de l’échantillonneur. En outre, le rapport téléchargé ne prend pas en charge les graphiques correspondant aux métriques côté serveur.
Pour télécharger les résultats des tests et le rapport HTML pour une série de tests dans le portail Azure :
Dans le Portail Azure, accédez à votre ressource de test de charge Azure.
Dans le volet de gauche, sélectionnez Tests pour afficher la liste des tests, puis sélectionnez votre test.
Conseil
Pour limiter le nombre de tests à afficher dans la liste, vous pouvez utiliser la zone de recherche et le filtre d’Intervalle de temps.
Vous pouvez télécharger le fichier de résultats de tests en tant que dossier zippé de l’une des deux manières suivantes :
Sélectionnez les points de suspension (...) en regard de la série de tests de charge sur laquelle vous travaillez, puis sélectionnez Télécharger le fichier de résultats.
Remarque
Pour que le fichier de résultats d’une série de tests de charge soit disponible en téléchargement, l’état de cette série de tests doit être Terminé, Arrêté ou Échec.
Sélectionnez Télécharger dans le volet Détails de la série de tests. Pour télécharger les résultats, sélectionnez Résultats. Pour télécharger le rapport HTML, sélectionnez Rapport.
Vous pouvez utiliser n’importe quel outil zip pour extraire le dossier et accéder aux fichiers téléchargés.
Le dossier des résultats contient un fichier CSV distinct pour chaque moteur de test et contient les détails des requêtes exécutées par le moteur de test pendant le test de charge.
Le dossier de rapport contient un fichier HTML qui fournit un résumé de la série de tests et des graphiques des métriques de performances pour l’affichage hors connexion et la collaboration.
Exporter les résultats des tests à l’aide des écouteurs back-end JMeter
Vous pouvez utiliser un écouteur principal JMeter pour exporter les résultats des tests vers des bases de données telles que InfluxDB, MySQL ou des outils de supervision comme Azure Application Insights.
Vous pouvez utiliser les écouteurs principaux JMeter par défaut, les écouteurs back-end de jmeter-plugins.orgou un écouteur principal personnalisé sous la forme d’un fichier d’archive Java (JAR).
L’extrait de code suivant montre un exemple d’utilisation de l’écouteur principal pour Azure Application Insights, dans un fichier JMeter (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>
Vous pouvez télécharger l’exemple complet d’utilisation de l’écouteur principal Azure Application Insights.
Copier des artefacts de test à partir d’un conteneur de compte de stockage
Important
La copie d’artefacts de test à partir d’un conteneur de compte de stockage est activée uniquement pour les tests de charge avec plus de 45 instances de moteur ou avec une durée d’exécution de test supérieure à trois heures.
Pour copier les résultats de test et les fichiers journaux d’une exécution de test à partir d’un compte de stockage, dans le portail Azure :
Dans le Portail Azure, accédez à votre ressource de test de charge Azure.
Dans le volet de gauche, sélectionnez Tests pour afficher la liste des tests, puis sélectionnez votre test.
Dans la liste des exécutions de test, sélectionnez votre série de tests.
Conseil
Pour limiter le nombre de tests à afficher dans la liste, vous pouvez utiliser la zone de recherche et le filtre d’Intervalle de temps.
Dans le volet Détails de l’exécution de test, sélectionnez Copier des artefacts.
Remarque
Pour que le fichier de résultats d’une série de tests de charge soit disponible au téléchargement, l’état de cette série de tests doit être Terminé, Arrêté ou Échec.
Copiez l’URL SAP du conteneur de compte de stockage.
Vous pouvez utiliser l’URL SAP dans l’Explorateur Stockage Azure ou AzCopy pour copier les fichiers CSV de résultats et les fichiers journaux de l’exécution de test sur votre compte de stockage.
L’URL SAP est valide pendant 60 minutes à partir du moment où elle est générée. Si l’URL expire, sélectionnez Copier les artefacts pour générer une nouvelle URL SAP.
Contenu connexe
- En savoir plus sur Diagnostic des tests de charge défaillants.
- En savoir plus sur la Comparaison de plusieurs résultats de tests.
- En savoir plus sur la Configuration des tests de performance automatisés avec Azure Pipelines.