Créer et gérer des tests dans Test de charge Azure
Découvrez comment créer et gérer des tests de charge dans votre ressource Test de charge Azure.
Note
Les commandes Azure CLI dans cette unité utilisent la syntaxe de commande en vigueur au moment de la rédaction. Azure CLI et ses extensions sont souvent mis à jour, donc passez en revue la az load référence pour obtenir les informations les plus récentes.
Créer une ressource de test de charge Azure.
Tout d’abord, créez la ressource de premier niveau pour Test de charge Azure. Elle fournit un endroit centralisé pour visualiser et gérer les plans de test, les résultats de test et les artefacts connexes.
Vous pouvez créer une ressource de test de charge à l’aide de Azure CLI. Les étapes suivantes créent la ressource et affichent ses détails.
Vous pouvez vous connecter à Azure :
az loginVous pouvez définir des valeurs de paramètre :
Les commandes suivantes utilisent ces valeurs pour créer la ressource de test de charge.
loadTestResource="<load-testing-resource-name>" resourceGroup="<resource-group-name>" location="East US"Vous pouvez créer un groupe de ressources avec la
az group createcommande :az group create -n $resourceGroup -l $locationVous pouvez créer une ressource de test de charge Azure avec la
az load createcommande :az load create --name $loadTestResource --resource-group $resourceGroup --location $locationUne fois la ressource créée par Azure, vous pouvez en afficher les détails avec la commande
az load show:az load show --name $loadTestResource --resource-group $resourceGroup
Créer un test de charge
Le portail Azure fournit trois options pour créer un test de charge. Vous pouvez choisir une option en fonction de la complexité du scénario de test et des ressources de test que vous avez déjà. Cette unité se concentre sur un script JMeter.
- Test basé sur l’URL.
- Script de test JMeter (JMX).
- Script de test Locust.
Plan de test
Le plan de test contient tous les fichiers requis pour exécuter votre test de charge. Au minimum, le plan de test doit contenir un script JMeter *.jmx. Test de charge Azure prend en charge un fichier JMX par test de charge.
Outre le script de test, vous pouvez charger un fichier de propriété utilisateur, des fichiers de configuration ou des fichiers de données d’entrée, tels que des fichiers CSV.
Vous pouvez accéder au plan de test.
Vous pouvez sélectionner les fichiers requis à partir de votre ordinateur local et les charger dans Azure.
Test de charge Azure stocke tous les fichiers dans un seul référentiel. Si votre script de test référence la configuration ou les fichiers de données, vous pouvez supprimer les chemins relatifs du fichier JMX.
Si votre test utilise des données d’entrée CSV, vous pouvez activer split CSV uniformément entre les moteurs de test.
Par défaut le test de charge copie et traite vos fichiers d’entrée non modifiés sur toutes les instances de moteur de test. Le test de charge Azure vous permet de fractionner uniformément les données d’entrée CSV sur toutes les instances du moteur. Si vous avez plusieurs fichiers CSV, chaque fichier est réparti uniformément.
Par exemple, si vous avez un fichier d’entrée CSV client volumineux et que le test de charge s’exécute sur 10 moteurs de test parallèles, chaque instance traite un dixième des clients.
Conseil
Vous pouvez télécharger un fichier à partir de l’onglet Plan de test en sélectionnant le nom du fichier dans la liste. Par exemple, vous pouvez télécharger le script JMeter généré pour un test rapide. Vous pouvez ensuite modifier et charger le script.
Paramètres
Vous pouvez utiliser des paramètres pour rendre votre plan de test configurable au lieu de coder des valeurs en dur dans le script JMeter. Vous pouvez spécifier des paires clé-valeur dans la configuration du test de charge et référencer chaque valeur dans le script JMeter à l’aide de son nom de paramètre.
Vous pouvez spécifier des variables d’environnement pour passer des paramètres non sensibles à votre script de test.
Par exemple, vous pouvez utiliser une variable d’environnement pour passer le nom de domaine cible ou le numéro de port au script de test.
Vous pouvez ajouter des références aux secrets soutenus par Azure Key Vault.
Vous pouvez utiliser des secrets pour passer des paramètres sensibles, tels que des mots de passe ou des jetons d’authentification, au script de test. Vous stockez les valeurs secrètes dans Azure Key Vault. Vous ajoutez ensuite une référence au secret dans la configuration du test de charge et utilisez le nom du paramètre dans votre script. Test de charge Azure récupère la valeur secrète de Azure Key Vault.
Vous pouvez ajouter des références aux certificats clients soutenus par Azure Key Vault.
Si votre application de test de charge utilise des points de terminaison qui reposent sur une authentification par certificat, vous pouvez ajouter les certificats à Azure Key Vault. Vous pouvez ensuite ajouter une référence de certificat à la configuration du test de charge. Test de charge Azure injecte automatiquement les certificats dans les requêtes web dans votre script JMeter.
Vous pouvez sélectionner l’identité managée que Test de charge Azure utilise pour accéder aux secrets ou certificats dans votre coffre de clés.
La sélection de l’identité n’accorde pas l’accès au coffre de clés. Vous pouvez accorder l’autorisation d’identité pour lire les secrets ou certificats requis. Pour un coffre de clés qui utilise Azure RBAC, vous pouvez attribuer le rôle Utilisateur des secrets Key Vault dans le périmètre le plus restreint possible.
Charge
Les paramètres de charge contrôlent le nombre et le positionnement des instances du moteur de test. D’autres instances augmentent la charge totale qu’un test JMeter peut générer. Vous pouvez également connecter les moteurs à un réseau virtuel lorsque le point de terminaison cible n’est pas accessible publiquement.
Vous pouvez spécifier le nombre d’instances de moteur de test.
Test de charge Azure met automatiquement à l’échelle votre test de charge sur l’ensemble des instances. Les moteurs de test exécutent le script de test JMeter en parallèle. Le nombre total d’utilisateurs simulés est égal au nombre d’utilisateurs virtuels (threads) que vous spécifiez dans le script JMeter multiplié par le nombre d’instances de moteur de test.
Vous pouvez configurer la connectivité de réseau virtuel.
Vous pouvez connecter votre test de charge à un réseau virtuel Azure pour tester des points de terminaison hébergés de manière privée ou sur site.
Pour vous connecter à un réseau virtuel, vous pouvez sélectionner Private for Traffic mode. Vous pouvez ensuite sélectionner le réseau virtuel et le sous-réseau.
Critères de test
Les critères de test définissent les attentes en matière de performances qui déterminent le résultat du test. Les métriques du client évaluent le comportement des demandes, tandis que les paramètres d’arrêt automatique protègent contre les tests qui génèrent des erreurs soutenues. Vous pouvez configurer les deux types de critères avant d’exécuter le test.
Vous pouvez spécifier des critères d’échec de test en fonction des métriques du client.
Lorsqu’une métrique dépasse son seuil, Test de charge Azure marque l’échec du test. Test de charge Azure prend actuellement en charge les métriques côté client suivantes pour les critères d’échec :
- Temps de réponse
- Demandes par seconde
- Nombre total de demandes
- Latence
- Pourcentage d’erreurs
Vous pouvez spécifier des critères d’échec pour l’ensemble du test de charge ou les affecter à des requêtes spécifiques dans le script JMeter. Par exemple, vous pouvez vérifier que le temps de réponse de la page d’accueil ne dépasse pas un seuil spécifique.
Vous pouvez configurer des critères d’arrêt automatique.
Test de charge Azure peut arrêter automatiquement l’exécution d’un test de charge lorsque le taux d’erreur dépasse un seuil donné. Vous pouvez activer ou désactiver cette fonctionnalité. Vous pouvez également configurer le seuil du taux d’erreur et la fenêtre de temps.