Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Découvrez comment utiliser l’extension Azure Load Testing pour Visual Studio Code pour créer facilement des tests de charge locust à l’aide de Copilot, itérer localement et mettre à l’échelle facilement dans Azure. Que vous débutiez avec Locust ou un expert en tests de performances, l’extension Azure Load Testing simplifie la création, l’itération et la mise à l’échelle des tests, directement à partir de votre environnement VS Code. 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 d’écrire tous vos tests dans le code Python.
Ce guide de démarrage rapide vous guide tout au long de la génération, de l’affinement et de l’exécution de tests de charge réalistes. À la fin, vous disposez d’un script de test de charge entièrement fonctionnel généré à partir d’une collection Postman, d’une collection Insomnie ou d’un fichier .http, amélioré avec des améliorations de Copilot et prêts à être mis à l’échelle dans Azure Load Testing.
Conditions préalables
- Extension Test de charge Azure pour VS Code. Téléchargez et installez-le ici.
- GitHub Copilot. Configurez Copilot dans VS Code pour générer et affiner des scripts de test. Si vous n’avez pas d’abonnement, vous pouvez activer un essai gratuit.
- Python & Locust. Obligatoire pour exécuter et valider vos scripts de test Locust localement à partir de VS Code. Installez Locust ici.
- Un compte Azure avec un abonnement actif. Nécessaire pour exécuter des tests de charge à grande échelle dans Azure Load Testing. Créez un compte gratuitement.
Conseil / Astuce
GitHub Copilot Chat de VS Code propose plusieurs modèles IA. Vous pouvez changer de modèle à l’aide du sélecteur de modèles dans le champ d’entrée de conversation. Si vous ne savez pas qui utiliser, nous vous recommandons GPT-4o.
Ouvrir la procédure pas à pas
Pour commencer, ouvrez la palette de commandes dans VS Code et exécutez : Test de charge : Ouvrir la procédure pas à pas. Cette procédure pas à pas fournit les points d’entrée clés de l’extension.
Vous pouvez également accéder aux fonctionnalités directement à partir de la palette de commandes à l’aide du préfixe Test de charge . Voici quelques commandes couramment utilisées :
Test de charge : Créer un test locust
Test de charge : Exécuter un test de charge (local)
Test de charge : Exécuter un test de charge (Test de charge Azure)
Générer un script Locust avec Copilot
Vous pouvez générer un script Locust à partir de n’importe quelle collection Postman existante, d’insomnie ou de fichier .http. Si le fichier contient plusieurs requêtes, Copilot tente de les séquencer dans un scénario cohérent.
Cliquez sur le bouton Créer un test de charge dans la procédure pas à pas ou exécutez le test de charge : créer un test locust à partir de la palette de commandes.
Vous pouvez choisir la source pour générer automatiquement un script de test Locust :
- La sélection d’une collection Postman, d’une collection Insomnie ou d’un fichier .http permet à Copilot d’extraire plusieurs opérations d’API, de demander des données et des détails d’authentification, en créant un test de charge plus complet et réaliste.
- Le choix d’une URL unique vous permet d’entrer une URL de point de terminaison unique, en générant un script simple que vous pouvez personnaliser ou développer.
Pour cette procédure pas à pas, vous pouvez sélectionner Essayer l’exemple : API Pet Shop, qui utilise le
petstore-sample.httpfichier pour générer un exemple de script de test Locust.Copilot analyse le fichier sélectionné et génère un script de test de charge basé sur locust, en séquenceant automatiquement les demandes d’API pour simuler l’utilisation réelle et gérer l’authentification en toute sécurité.
Une fois le script généré, la fenêtre Conversation Copilot suggère d’autres étapes de configuration, telles que la définition de variables d’environnement. Si Copilot suggère des variables d’environnement, créez un
.envfichier dans votre projet et ajoutez les valeurs recommandées.
Personnaliser le script de test de charge
Avant d’exécuter le test, vous pouvez l’affiner avec Copilot. Par exemple, en examinant le script, vous remarquerez peut-être que la même charge utile de requête est envoyée avec chaque requête :
payload = {
"id": self.pet_id,
"name": "Fluffy",
"category": {"id": 1, "name": "Dogs"},
"photoUrls": ["https://example.com/photo.jpg"],
"tags": [{"id": 1, "name": "cute"}],
"status": "available"
}
Pour rendre le test plus dynamique en randomisant la charge utile de la requête :
- Ouvrez le panneau De conversation Copilot .
- Tapez :
Randomize request payloadspuis appuyez sur Entrée. - Copilot génère une modification suggérée pour introduire la randomisation.
- Cliquez sur Appliquer dans l’éditeur qui apparaît au-dessus de l’extrait de code généré dans la fenêtre Conversation Copilot.
- Après avoir examiné les modifications, cliquez sur Conserver pour accepter et mettre à jour votre script.
- Enregistrer le fichier
À présent, chaque requête simule une interaction utilisateur plus réaliste. Le code ressemble à l’extrait de code suivant :
payload = {
"id": self.pet_id,
"name": f"Pet{random.randint(1, 1000)}",
"category": {"id": random.randint(1, 10), "name": random.choice(["Dogs", "Cats", "Birds"])},
"photoUrls": [f"https://example.com/photo{random.randint(1, 100)}.jpg"],
"tags": [{"id": random.randint(1, 10), "name": random.choice(["cute", "friendly", "playful"])}],
"status": random.choice(["available", "pending", "sold"])
}
Exécuter le test de charge
Vous pouvez exécuter votre test de charge de deux façons :
- Exécuter localement pour une validation rapide
- Exécuter dans Azure Load Testing pour une charge multirégion à grande échelle
Exécuter localement pour une validation rapide
Pour valider rapidement votre test, exécutez-le localement à l’aide de Locust à partir de Visual Studio Code :
Ouvrez la palette de commandes et exécutez : Test de charge : Exécuter un test de charge (local).
L’interface utilisateur web Locust est automatiquement lancée dans un navigateur. L’ouverture du serveur locust peut prendre quelques secondes.
Dans la page Démarrer un nouveau test de charge , passez en revue les champs d’entrée, puis cliquez sur Démarrer. Locust commence à envoyer des demandes, à journaliser les défaillances et à suivre les statistiques de performances.
Explorez l’interface utilisateur locust pour analyser les temps de réponse, les taux d’erreur et le débit des requêtes.
Conseil / Astuce
Si Locust signale des échecs pour les Retrieve Pet demandes et Update Pet les demandes, cela peut être dû à la façon dont l’API Pet Store traite les demandes. Essayez de demander à Copilot d’ajouter des retards aléatoires entre les requêtes dans run_scenario. Si vous soupçonnez un problème avec le script lui-même, définissez DEBUG_MODE=True comme variable d’environnement et réexécutez le test pour obtenir des informations de débogage plus détaillées.
Si vous préférez exécuter le test à partir d’un terminal VS Code :
Ouvrez un terminal dans VS Code.
Exécutez la commande suivante:
locust -f path/to/locustfile.py -u 10 -r 2 --run-time 1m-
-f path/to/locustfile.py: spécifie le script de test Locust. -
-u 10: simule jusqu’à 10 utilisateurs virtuels. -
-r 2: monte en puissance deux utilisateurs virtuels par seconde. -
--run-time 1m: exécute le test pendant 1 minute.
-
Ouvrez un navigateur pour
http://0.0.0.0:8089afficher l’interface utilisateur web locust.
Effectuer un scale-up dans le test de charge Azure
Pour les scénarios à charge élevée dans lesquels vous devez simuler plusieurs milliers d’utilisateurs virtuels simultanés dans plusieurs régions, vous pouvez exécuter votre test dans Azure Load Testing.
Pour exécuter un test à grande échelle :
Ouvrez la palette de commandes et exécutez : Test de charge : Exécuter un test de charge (Test de charge Azure).
Sélectionnez Créer un fichier de configuration....
Suivez la configuration guidée, notamment :
Connectez-vous à Azure et sélectionnez votre abonnement.
Création d’une ressource Azure Load Testing ou sélection d’une ressource existante.
Choix des régions de test de charge pour distribuer le trafic globalement.
Une fois la configuration terminée, un fichier de configuration YAML (par exemple)
loadtest.config.yamlest généré et ajouté à votre dossier racine de l’espace de travail.Ce fichier définit le script Locust, les paramètres de chargement, les variables d’environnement, les régions et tous les autres fichiers (par exemple, jeux de données CSV).
Les valeurs par défaut sont 200 utilisateurs virtuels s’exécutant pendant 120 secondes dans chaque région sélectionnée.
Validez ce fichier dans votre référentiel pour réutiliser et automatiser les futures exécutions de tests de charge.
Copilot valide la configuration avant l’exécution. Suivez les instructions fournies dans la fenêtre de conversation. Sinon, si tout est extrait, le script de test et ses artefacts associés sont chargés dans Azure Load Testing et préparés pour l’exécution. Ce processus peut prendre jusqu’à une minute et la progression s’affiche dans le panneau Sortie .
Au démarrage du test, une notification (message toast) s’affiche dans le coin inférieur droit de VS Code. Cliquez sur le bouton Ouvrir dans le portail Azure pour surveiller l’exécution des tests en temps réel.
Au démarrage du test, une notification (message toast) s’affiche dans le coin inférieur droit. Cliquez sur le bouton Ouvrir dans le portail Azure pour surveiller l’exécution des tests en temps réel.
Conseil / Astuce
Pour accéder rapidement aux résultats des tests à partir des exécutions précédentes, utilisez la commande : Test de charge : Afficher les exécutions de test de charge.
Dans ce guide de démarrage rapide, les variables sensibles telles qu’elles API_KEY ont été stockées dans un .env fichier et chargées dans le service cloud. Toutefois, comme meilleure pratique, les secrets doivent être gérés en toute sécurité dans Azure Key Vault. L’extension fournit des conseils sur la configuration de ce paramètre.
Jusqu’à présent, dans ce guide de démarrage rapide, les variables sensibles telles qu’elles API_KEY ont été stockées dans un .env fichier et chargées dans le service cloud. Toutefois, comme meilleure pratique, les secrets doivent être gérés en toute sécurité dans Azure Key Vault. L’extension fournit des conseils sur la configuration de ce paramètre.
Ouvrez la fenêtre Conversation Copilot , tapez
@testing /setupLoadTestSecretsInAzureet appuyez sur Entrée.Copilot vous guide tout au long des étapes suivantes :
Copilot vous guide tout au long des étapes suivantes :
- Création d’un coffre de clés Azure.
- Affectation d’une identité managée à votre ressource Azure Load Testing.
- Ajout de secrets à Azure Key Vault.
- Configuration de votre fichier YAML pour référencer les secrets Key Vault au lieu de
.env.
Chaque fois que vous modifiez votre script Locust ou votre configuration YAML, vous pouvez réexécuter le test en exécutant Exécuter le test de charge (Test de charge Azure).
Résumé
Dans ce guide de démarrage rapide, vous avez utilisé l’extension Azure Load Testing pour Visual Studio Code pour créer facilement des tests de charge locust à l’aide de Copilot, itérer localement et effectuer une mise à l’échelle sans effort dans Azure. L’extension Test de charge Azure pour VS Code simplifie le processus de création d’un script de test réaliste pour votre scénario de test. 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).
Contenu connexe
- Découvrez comment surveiller les métriques côté serveur pour votre application.
- Découvrez comment configurer des tests de performances automatisés avec CI/CD.