Diagnostiquer les tests de charge défaillants dans Azure Load Testing

Dans cet article, vous allez découvrir comment diagnostiquer et dépanner les tests de charge défaillants dans Azure Load Testing. Le test de charge Azure fournit plusieurs options pour identifier la cause racine d’un test de charge défaillant. Par exemple, vous pouvez utiliser le tableau de bord de test de charge, ou télécharger les résultats des tests ou les fichiers journaux de test pour une analyse approfondie. Vous pouvez également configurer des métriques côté serveur pour identifier les problèmes liés au point de terminaison d’application.

Azure Load Testing utilise deux indicateurs pour déterminer le résultat d’un test de charge :

  • État du test : indique si le test de charge a pu démarrer correctement et exécuter le script de test jusqu’à la fin. Par exemple, l’état du test a échoué s’il existe une erreur dans le script de test JMeter, ou si l’écouteur de démarrage automatique a interrompu le test de charge, car un trop grand nombre de requêtes ont échoué.

  • Résultat du test : indique le résultat de l’évaluation des critères d’échec du test. Si au moins un des critères d’échec du test a été atteint, le résultat du test est défini sur Échec.

Selon l’indicateur, vous pouvez utiliser une approche différente pour identifier la cause racine d’une défaillance de test.

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 avec une série de tests effectué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.

Déterminer le résultat d’un test de charge

Pour obtenir le résultat d’un test de charge, procédez comme suit :

  1. Dans le Portail Azure, accédez à votre ressource de test de charge.

  2. Sélectionnez Tests dans le volet gauche pour afficher la liste des tests.

  3. Sélectionnez un test dans la liste pour afficher toutes les exécutions de test pour ce test.

    La liste des exécutions de test affiche les champs Résultat du test et État du test.

    Screenshot that shows the list of test runs in the Azure portal, highlighting the test result and test status columns.

  4. Vous pouvez également sélectionner une série de tests pour afficher le tableau de bord de test de charge pour l’exécution de test.

    Screenshot that shows the load test dashboard, highlighting status information for a failed test.

Diagnostiquer les échecs de test

Vous pouvez utiliser une approche différente pour diagnostiquer un échec de test de charge en fonction de la capacité d’Azure Load Testing à exécuter et à terminer le script de test ou non.

Échec du test de charge

Lorsque le test de charge échoue, l’état de test de l’exécution du test est défini sur Échec.

Un test de charge peut échouer en raison de plusieurs raisons. Exemples de raisons pour lesquelles un test de charge ne se termine pas :

  • Il existe des erreurs dans le script de test JMeter.
  • Le script de test utilise les fonctionnalités JMeter qu’Azure Load Testing ne prend pas en charge. Découvrez les fonctionnalités JMeter prises en charge.
  • Le script de test référence un fichier ou un plug-in qui n’est pas disponible sur l’instance du moteur de test.
  • La fonctionnalité de démarrage automatique a interrompu le test de charge, car un trop grand nombre de requêtes échouent et le taux d’erreur dépasse le seuil. En savoir plus sur la fonctionnalité de démarrage automatique dans Azure Load Testing.

Procédez comme suit pour diagnostiquer un test qui ne se termine pas :

  1. Vérifiez les détails de l’erreur dans le tableau de bord de test de charge.
  2. Téléchargez et analysez les journaux de test pour identifier les problèmes dans le script de test JMeter.
  3. Téléchargez les résultats des tests pour identifier les problèmes liés aux demandes individuelles.

Test de charge terminé

Un test de charge peut exécuter le script de test jusqu’à la fin (l’état du test est Terminé), mais il peut ne pas réussir tous les critères d’échec du test. Si au moins un des critères de test n’a pas réussi, le résultat du test de l’exécution du test est défini sur Échec.

Suivez les étapes suivantes pour diagnostiquer un test qui ne répond pas aux critères de test :

  1. Passez en revue les critères d’échec du test dans le tableau de bord du test de charge.
  2. Passez en revue les statistiques de l’échantillonneur dans le tableau de bord de test de charge pour identifier plus en détail les demandes dans le script de test.
  3. Passez en revue les métriques côté client dans le tableau de bord de test de charge. Si vous le souhaitez, vous pouvez filtrer les graphiques pour une requête spécifique à l’aide des contrôles de filtre.
  4. Téléchargez les résultats du test pour obtenir des informations d’erreur pour les demandes individuelles.
  5. Vérifiez les métriques d’intégrité du moteur de test pour identifier la contention de ressources possible sur les moteurs de test.
  6. Si vous le souhaitez, ajoutez des composants d’application et surveillez les métriques côté serveur pour identifier les goulots d’étranglement des performances pour le point de terminaison de l’application.

Télécharger les journaux de travail Apache JMeter pour votre test de charge

Quand vous exécutez un test de charge, les moteurs de test de test de charge Azure exécutent votre script de test Apache JMeter. Pendant le test de charge, Apache JMeter stocke une journalisation détaillée dans les journaux du nœud worker. Vous pouvez télécharger ces journaux worker JMeter pour chaque série de tests dans le portail Azure. Azure Load Testing génère un journal de travail pour chaque instance du moteur de test.

Remarque

Azure Load Testing enregistre uniquement les messages de journalisation avec WARN ou ERROR de niveau dans les journaux de travail.

Par exemple, s’il existe un problème avec votre script JMeter, l’état du test de charge a échoué. Dans les journaux worker, vous pouvez trouver des informations supplémentaires sur la cause du problème.

Pour télécharger les journaux worker pour une série de tests de charge Azure, procédez comme suit :

  1. Dans le Portail Azure, accédez à votre ressource de test de charge Azure.

  2. Sélectionnez Tests pour afficher la liste des tests, puis sélectionnez votre test de charge dans la liste.

  3. Dans la liste des exécutions de test, sélectionnez une série de tests pour afficher le tableau de bord de test de charge.

  4. Dans le tableau de bord, sélectionnez Télécharger, puis Journaux.

    Le navigateur doit maintenant commencer à télécharger un dossier compressé qui contient le fichier journal du nœud Worker JMeter pour chaque instance du moteur de test.

    Screenshot that shows how to download the test log files from the test run details page.

  5. Vous pouvez utiliser n’importe quel outil zip pour extraire le dossier et accéder aux fichiers journaux.

    Le fichier worker.log peut vous aider à diagnostiquer la cause racine d’un test de charge qui échoue. Dans la capture d’écran, vous pouvez voir que le test a échoué en raison d’un fichier manquant.

    Screenshot that shows the JMeter log file content.