Partager via


Démarrage rapide : Créer et exécuter un test de charge à l’aide d’un script Locust et de Test de charge Azure

Découvrez comment créer et exécuter un test de charge avec un script de test Locust et Test de charge Azure à partir du portail Azure. Test de charge Azure est un service managé qui vous permet d’exécuter un test de charge à l’échelle du cloud. Locust est un outil de test de charge open source qui vous permet de décrire tous vos tests dans du code Python.

Conditions préalables

Cas d’usage pour créer un test de charge avec un script de test Locust existant :

  • Vous souhaitez réutiliser des scripts Locust existants pour tester votre application.
  • Vous souhaitez simuler le trafic utilisateur vers votre application et vérifier que celle-ci répond à vos besoins.
  • Vous ne souhaitez pas configurer d’infrastructure complexe à des fins de test de charge. Par ailleurs, en tant que développeur, vous ne maîtrisez pas forcément les outils de test de charge et la syntaxe de script de test.

Dans ce guide de démarrage rapide, vous allez créer un test de charge pour le point de terminaison de votre application à l’aide de Test de charge Azure et du framework de test Locust. Vous créerez dans un premier temps une ressource de test de charge sur le portail Azure, puis vous créerez un test de charge en chargeant le script de test Locust et en configurant les paramètres de charge.

Créer une ressource de test de charge Azure.

Vous devez d’abord créer la ressource de premier niveau pour Test de charge Azure. Le portail Azure propose un emplacement centralisé pour visualiser et gérer les plans de test, les résultats de test et les artefacts associés.

Si vous avez déjà une ressource de test de charge, ignorez cette section et allez à Créer un test de charge.

Pour créer une ressource de test de charge :

  1. Connectez-vous au Portail Azure à l’aide des informations d’identification de votre abonnement Azure.

  2. Dans le menu du portail Azure ou dans la page d’accueil, sélectionnez Créer une ressource.

  3. Dans la page Place de marché, recherchez et sélectionnez Azure App Testing.

  4. Dans le hub Azure App Testing, sélectionnez Test de charge Azure dans la section espaces de travail.

  5. Dans le volet Test de charge Azure , sélectionnez Créer.

  6. Dans la page Créer une ressource de test de charge, entrez les informations suivantes :

    Champ Descriptif
    Abonnement Sélectionnez l’abonnement Azure que vous souhaitez utiliser pour cette ressource de test de charge Azure.
    Groupe de ressources Sélectionnez un groupe de ressources existant. Cliquez sur Créer nouveau, puis entrez un nom unique pour le nouveau groupe de ressources.
    Nom Entrez un nom unique pour identifier votre ressource de test de charge Azure.
    Le nom ne doit pas contenir de caractères spéciaux, tels que \/""[]:|<>+=;,?*@&, ni d’espace vide. Le nom ne peut pas commencer par un trait de soulignement (_) et ne peut pas se terminer par un point (.) ou un trait d’union (-). Sa longueur doit être comprise entre 1 et 64 caractères.
    Lieu Sélectionnez un emplacement géographique pour héberger votre ressource de test de charge Azure.
    Cet emplacement détermine également où sont hébergés les moteurs de test ainsi que l’origine des requêtes du framework de test.

    Remarque

    Vous pouvez aussi configurer plus de détails sous l’onglet Étiquettes. Les étiquettes sont des paires nom/valeur qui vous permettent de catégoriser les ressources et d’afficher une facturation centralisée en appliquant la même étiquette à plusieurs ressources et groupes de ressources.

  7. Lorsque vous avez terminé de configurer la ressource, sélectionnez Vérifier + créer.

  8. Passez en revue les paramètres que vous fournissez, puis sélectionnez Créer. La création du compte prend quelques minutes. Attendez que la page du portail affiche Votre déploiement est terminé.

  9. Pour afficher la nouvelle ressource, sélectionnez Accéder à la ressource.

  10. Si vous le souhaitez, vous pouvez gérer l’accès à votre ressource de Test de charge Azure.

    Le test de charge Azure utilise le contrôle d’accès en fonction du rôle (RBAC) pour gérer les autorisations de votre ressource. Si vous rencontrez ce message, votre compte ne dispose pas des autorisations nécessaires pour gérer les tests.

    Capture d’écran qui montre un message d’erreur dans le portail Azure indiquant que vous n’êtes pas autorisé à utiliser la ressource Test de charge Azure.

Créer un test de charge

Maintenant que vous disposez d’une ressource de test de charge, vous pouvez créer un test de charge en chargeant le script de test Locust. Test de charge Azure gère l’infrastructure pour exécuter votre script de test à grande échelle et simuler le trafic vers les points de terminaison de votre application.

Pour créer un test de charge pour un test Locust sur le portail Azure :

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

  2. Dans le volet de navigation de gauche, sélectionnez Tests pour voir tous les tests.

  3. Sélectionnez + Créer, puis Charger un script.

    Capture d’écran qui montre la page Test de charge Azure et le bouton pour créer un nouveau test.

  4. Sous l’onglet Informations de base, entrez les détails du test de charge :

    Champ Descriptif
    Nom du test Entrez un nom de test unique.
    Description du test (Facultatif) Entrez une description du test de charge.
    Exécuter le test après la création Sélectionnez ce paramètre pour démarrer automatiquement le test de charge après l’avoir enregistré.
  5. Sous l’onglet Plan de test, sélectionnez Locust comme Framework de test de charge.

    Capture d’écran montrant l’option permettant de sélectionner le framework Locust.

  6. Sélectionnez ensuite le fichier de test Locust sur votre ordinateur, puis sélectionnez Charger pour charger le fichier dans Azure.

    Capture d’écran montrant le bouton permettant de charger des artefacts de test.

  7. Chargez tous les autres fichiers que vous référencez dans le script de test. Par exemple, si votre script de test utilise des jeux de données CSV, vous pouvez télécharger le ou les fichiers .csv correspondants. Pour utiliser un fichier de configuration avec votre script Locust, chargez le fichier et sélectionnez Configuration Locust pour le paramètre Pertinence du fichier

  8. Pour installer des dépendances à partir d’un fichier « requirements.txt », chargez le fichier « requirements.txt » avec les autres artefacts.

  9. Pour utiliser les fichiers Python auxiliaires avec votre script Locust, téléchargez les fichiers auxiliaires avec les autres artefacts. Spécifiez le script de test principal à partir duquel l'exécution doit commencer dans le contexte du fichier.

  10. Sous l’onglet Charger, entrez les détails concernant la quantité de charge à générer :

    Champ Descriptif
    Nombre total d’utilisateurs (Facultatif) Entrez le nombre global d’utilisateurs à simuler pour le test de charge, dans toutes les instances du moteur.
    Taux de génération global (Facultatif) Taux d’ajout d’utilisateurs à (utilisateurs par seconde) sur toutes les instances du moteur.
    Durée (en minutes) (Facultatif) Durée totale du test de charge en minutes.
    Point d'accès hôte (Facultatif) URL du point de terminaison HTTP. Par exemple, https://www.contoso.com/products.|
    Instances de moteur de test Sélectionnez le nombre d’instances de moteur de test parallèles.

    Les entrées facultatives peuvent être fournies dans la configuration de charge, dans le script de test Locust ou dans le fichier de configuration Locust. Pour plus d’informations, consultez Configurer pour les charges à grande échelle

  11. Sélectionnez Vérifier + créer. Passez en revue tous les paramètres, puis sélectionnez Créer pour créer le test de charge.

Vous pouvez mettre à jour la configuration de test à tout moment, par exemple pour charger un autre fichier de test Locust ou modifier les paramètres de charge. Choisissez votre test dans la liste des tests, puis sélectionnez Modifier.

Remarque

Azure Load Testing exécute votre script Locust en mode LocalRunner sur toutes les instances du moteur.

Exécuter le test de charge

Si vous avez sélectionné Exécuter le test après la création, votre test de charge démarre automatiquement. Pour démarrer manuellement le test de charge que vous avez créé précédemment, procédez comme suit :

  1. Accédez à votre ressource de test de charge, sélectionnez Tests dans le volet gauche, puis sélectionnez le test que vous avez créé précédemment.

    Capture d'écran qui montre la liste des tests de charge.

  2. Dans la page de détails du test, sélectionnez Exécuter ou Exécuter le test. Sélectionnez ensuite Exécuter dans le volet de confirmation pour démarrer le test de charge. Si vous le souhaitez, fournissez une description de la série de tests.

    Capture d’écran montrant le message de confirmation.

    Conseil / Astuce

    Vous pouvez arrêter un test de charge à tout moment à partir du Portail Azure.

  3. Notez les détails, les statistiques et les métriques client de l’exécution du test dans le portail Azure.

    Si votre script de test contient plusieurs requêtes, les graphiques les affichent toutes. Vous pouvez également filtrer sur des requêtes spécifiques. Dans la section Sampler statistics (Statistiques de l’échantillonneur), vous pouvez consulter les statistiques par requête dans un format tabulaire.

    Capture d’écran montrant le tableau de bord des séries de tests.

    Utilisez les statistiques d’exécution et les informations sur les erreurs pour identifier les problèmes de performance et de stabilité de votre application sujette au test de charge.

Résumé

Dans ce guide de démarrage rapide, vous avez créé et exécuté un test de charge avec Test de charge Azure en utilisant un script de test Locust. Le service Test de charge Azure fait abstraction de la complexité de la configuration de l’infrastructure pour simuler une charge utilisateur à grande échelle pour votre application.

Vous pouvez étendre davantage le test de charge pour effectuer également un monitoring des métriques côté serveur de l’application soumise à une charge ainsi que pour spécifier les métriques d’échec de test afin d’être alerté quand l’application ne répond pas à vos besoins. Pour garantir un fonctionnement constant et optimal de l’application, vous pouvez également intégrer les tests de charge dans le cadre de votre workflow d’intégration continue et de déploiement continu (CI/CD).