Lire en anglais

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.

Prérequis

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.

Important

La prise en charge de Locust dans Test de charge Azure est actuellement en préversion limitée. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure. Inscrivez-vous ici pour intégrer votre abonnement Azure et profiter de la préversion.

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 Accueil, sélectionnez Créer une ressource.

  3. Dans la page Place de marché, recherchez et sélectionnez Test de charge Azure.

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

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

    Champ Description
    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.

    Notes

    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.

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

  7. 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é.

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

  9. 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 Description
    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. Ajoutez ce code dans votre script Locust pour installer les dépendances

    import subprocess
    subprocess.check_output("python3 -m pip install -r requirements.txt", shell=True)
    
  9. Pour utiliser des fichiers Python de prise en charge avec votre script Locust, créez un fichier wheel (.whl) des fichiers Python pris en charge, puis chargez le fichier wheel avec les autres artefacts. Ajoutez ce code dans votre script Locust pour installer le fichier wheel au démarrage du script Locust

    import subprocess
    subprocess.check_output("python3 -m pip install your_wheel.whl", shell=True)
    

    Notes

    Incluez les extraits de code pour installer les dépendances et les fichiers de prise en charge dans la section d’importation de votre script Locust. Ne les incluez pas dans la section de test de charge.

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

    Champ Description
    Instances de moteur de test Sélectionnez le nombre d’instances de moteur de test de charge parallèles. Chaque moteur de test simule le trafic en fonction du Nombre d’utilisateurs.
    Nombre d’utilisateurs Entrez le nombre d’utilisateurs virtuels à simuler par instance de moteur de test.
    Durée (en minutes) Durée totale du test de charge en minutes.
    Taux de génération d’utilisateurs (Facultatif) Rythme auquel les utilisateurs sont ajoutés (nombre d’utilisateurs par seconde).
    Point de terminaison hôte (Facultatif) URL du point de terminaison HTTP. Par exemple, https://www.contoso.com/products.|
  11. Sélectionnez Revoir + 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.

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

    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érie 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).