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.
Dans cet article, vous allez apprendre à configurer votre test de charge pour les charges élevées avec Test de charge Azure. Test de charge Azure fait abstraction de la complexité de l’approvisionnement de l’infrastructure pour simuler un trafic élevé. Pour effectuer un scale-out d’un test de charge, vous pouvez configurer le nombre d’instances de moteur de test parallèles. Pour obtenir une distribution de charge optimale, vous pouvez surveiller les mesures d’intégrité de l’instance de test dans le tableau de bord Test de charge Azure.
Conditions préalables
Un compte Azure avec un abonnement actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Une ressource Test de charge Azure existante. Pour créer une ressource Test de charge Azure, consultez le guide de démarrage rapide Créer et exécuter un test de charge.
Configurer des paramètres de charge pour un test de charge
Pour simuler le trafic utilisateur pour votre application, vous pouvez configurer le modèle de charge et le nombre d’utilisateurs virtuels pour utilisant lequel vous souhaitez simuler la charge. En exécutant le test de charge sur de nombreuses instances de moteur de test parallèles, Test de charge Azure peut effectuer un scale-out du nombre d’utilisateurs virtuels qui simulent le trafic vers votre application. Le modèle de charge détermine la façon dont la charge est distribuée pendant la durée du test de charge. Des exemples de modèles de charge sont les charges linéaires, échelonnées ou de pointe.
Selon le type de test de charge, basé sur une URL, basé sur JMeter ou basé sur Locust, vous disposez de différentes options pour configurer la charge cible et le modèle de charge. Le tableau suivant répertorie les différences entre les types de tests.
| Type de test | Nombre d’utilisateurs virtuels | Modèle de charge |
|---|---|---|
| Basé sur l’URL (de base) | Spécifiez le nombre cible d’utilisateurs virtuels dans la configuration du test de charge. | Modèle de charge linéaire, basé sur le temps d’accélération et le nombre d’utilisateurs virtuels. |
| Basé sur l'URL (avancé) | Spécifiez le nombre de moteurs de test et le nombre d’utilisateurs virtuels par instance dans la configuration du test de charge. | Configurez le modèle de charge (linéaire, étape, pic). |
| Basé sur JMeter | Spécifiez le nombre d’utilisateurs virtuels par instance dans le script de test. Spécifiez le nombre de moteurs de test dans la configuration du test de charge. | Configurez le modèle de charge dans le script de test. |
| Locust-based | Spécifiez le nombre total d'utilisateurs dans la configuration du test de charge, le fichier de configuration Locust ou le script de test. Spécifiez le nombre de moteurs de test dans la configuration du test de charge. | Configurez le modèle de charge dans le script de test. |
Configurer les paramètres de charge pour les tests basés sur l’URL
Pour spécifier les paramètres de charge d’un test de charge basé sur l’URL :
Dans le Portail Azure, accédez à votre ressource de test de charge Azure.
Dans le volet de navigation de gauche, sélectionnez Tests pour voir tous les tests.
Dans la liste, sélectionnez votre test de charge, puis sélectionnez Modifier.
En guise d’alternative, vous pouvez modifier la configuration de test à partir de la page Détails du test. Pour ce faire, sélectionnez Configurer, puis sélectionnez Test.
Dans la page Informations de base, veillez à sélectionner Activer les paramètres avancés.
Dans la page Modifier le test, sélectionnez l’onglet Charge.
Pour les tests basés sur l’URL, vous pouvez configurer le nombre d’instances de moteur de test parallèles et le modèle de charge.
Utilisez le contrôle curseur Instances du moteur pour mettre à jour le nombre d’instances de moteur de test parallèles. Vous pouvez également entrer la valeur cible dans la zone d’entrée.
Sélectionnez la valeur Modèle de charge dans la liste.
Pour chaque modèle, renseignez les paramètres de configuration correspondants. Le graphique fournit une représentation visuelle du modèle de charge et de ses paramètres de configuration.
Configurer les paramètres de charge pour les tests basés sur JMeter
Pour spécifier les paramètres de charge d’un test de charge basé sur JMeter :
Dans le Portail Azure, accédez à votre ressource de test de charge Azure.
Dans le volet de navigation de gauche, sélectionnez Tests pour voir tous les tests.
Dans la liste, sélectionnez votre test de charge, puis sélectionnez Modifier.
En guise d’alternative, vous pouvez modifier la configuration de test à partir de la page Détails du test. Pour ce faire, sélectionnez Configurer, puis sélectionnez Test.
Dans la page Modifier le test, sélectionnez l’onglet Charge. Utilisez le curseur Instances du moteur pour mettre à jour le nombre d'instances du moteur de test ou saisissez la valeur directement dans la zone de saisie.
Sélectionnez Appliquer pour modifier le test et utiliser la nouvelle configuration lorsque vous le réexécutez.
Configurer les paramètres de chargement pour les tests basés sur Locust
Configurer les paramètres de chargement pour les tests basés sur Locust :
Dans le Portail Azure, accédez à votre ressource de test de charge Azure.
Dans le volet de navigation de gauche, sélectionnez Tests pour voir tous les tests.
Dans la liste, sélectionnez votre test de charge, puis sélectionnez Modifier.
En guise d’alternative, vous pouvez modifier la configuration de test à partir de la page Détails du test. Pour ce faire, sélectionnez Configurer, puis sélectionnez Test.
Dans la page Modifier le test, sélectionnez l’onglet Charge. Saisissez les valeurs pour le nombre total d'utilisateurs requis et le taux de reproduction global dans les zones de saisie respectives. Le nombre d'instances de moteur requis pour générer cette charge est automatiquement renseigné. Si votre script de test est complexe et nécessite beaucoup de ressources, utilisez le curseur Instances du moteur pour mettre à jour le nombre d'instances du moteur de test ou saisissez la valeur directement dans la zone de saisie.
Vous pouvez également configurer le nombre d'utilisateurs et le taux de génération dans le script de test ou le fichier de configuration Locust et fournir le nombre d'instances de moteur requises.
- Sélectionnez Appliquer pour modifier le test et utiliser la nouvelle configuration lorsque vous le réexécutez.
Surveiller les indicateurs de performance d’instance du moteur
Pour vous assurer que les instances de moteur de test elles-mêmes ne sont pas un goulot d’étranglement des performances, vous pouvez surveiller les métriques de ressources de l’instance du moteur de test. Une utilisation élevée des ressources pour une instance de test peut influencer négativement les résultats du test de charge.
Le Test de charge Azure signale quatre indicateurs de performance des ressources pour chaque instance :
- Pourcentage processeur.
- Pourcentage de mémoire.
- Octets réseau par seconde.
- Nombre d’utilisateurs virtuels.
Une instance de moteur de test est considérée comme saine si le pourcentage moyen du processeur ou le pourcentage de mémoire pendant la durée de la série de tests reste inférieur à 75 %.
Pour afficher les métriques de ressources du moteur :
Accédez à votre ressource de test de charge. Dans le volet gauche, sélectionnez Tests pour afficher la liste des tests de charge.
Dans la liste, sélectionnez votre test de charge pour afficher la liste des séries de tests.
Dans la liste des séries de tests, sélectionnez votre série de tests.
Dans le tableau de bord de série de tests, sélectionnez Intégrité du moteur pour afficher les indicateurs de performance des ressources du moteur.
Si vous le souhaitez, sélectionnez une instance de moteur de test spécifique à l’aide des filtres.
Résoudre les problèmes liés aux instances de moteur défectueuses
Si une ou plusieurs instances affichent une utilisation élevée des ressources, cela peut affecter les résultats des tests. Pour résoudre ce problème, essayez une ou plusieurs des procédures suivantes :
Réduisez le nombre de threads (utilisateurs virtuels) par moteur de test. Pour atteindre un nombre cible d’utilisateurs virtuels, vous pouvez augmenter le nombre d’instances de moteur pour le test de charge.
Assurez-vous que votre script est efficace, sans code redondant.
Si l’état d’intégrité du moteur est inconnu, réexécutez le test.
Déterminer les requêtes par seconde
Le nombre maximal de requêtes par seconde (RPS) qu’Azure Load Testing peut générer pour votre test de charge dépend de la latence de l’application et du nombre d’utilisateurs virtuels (VUs). La latence de l’application correspond à la durée totale qui s’écoule entre l’envoi d’une requête d’application par le moteur de test et la réception de la réponse. Le nombre d’utilisateurs virtuels correspond au nombre de requêtes parallèles effectuées par Test de charge Azure à un moment donné.
Pour calculer le nombre de requêtes par seconde, appliquez la formule suivante : RPS = (nombre de VUs) * (1/latence en secondes).
Par exemple, si la latence de l'application est de 20 millisecondes (0,02 seconde) et que vous générez une charge de 2 000 VUs, vous pouvez atteindre environ 100 000 RPS (2 000 * 1/0,02 s).
Pour atteindre un nombre cible de requêtes par seconde, configurez le nombre total d’utilisateurs virtuels pour votre test de charge.
Remarque
Apache JMeter signale uniquement les demandes qui ont été effectuées sur le serveur et de nouveau, réussies ou non. Si Apache JMeter ne parvient pas à se connecter à votre application, le nombre réel de demandes par seconde sera inférieur à la valeur maximale. Les causes possibles peuvent être que le serveur est trop occupé pour traiter la requête, ou qu’un certificat TLS/SSL est manquant. Pour diagnostiquer les problèmes de connexion, vous pouvez consulter le graphique des Erreurs dans le tableau de bord de test de charge et télécharger les fichiers journaux du test de charge.
Instances de moteur de test et utilisateurs virtuels pour les tests basés sur JMeter
Dans le script Apache JMeter, vous pouvez préciser le nombre de threads parallèles. Chaque thread représente un utilisateur virtuel qui accède au point de terminaison de l’application. Nous vous recommandons de conserver le nombre de threads en dessous d’un maximum de 250.
Dans le Test de charge Azure, les instances de moteur de test sont responsables de l’exécution du script Apache JMeter. Toutes les instances du moteur de test s’exécutent en parallèle. Vous pouvez configurer le nombre d’instances pour un test de charge.
Le nombre total d'utilisateurs virtuels pour un test de charge est alors : VUs = (# threads) * (# instances du moteur de test).
Pour simuler un nombre cible d’utilisateurs virtuels, vous pouvez configurer les threads parallèles dans le script JMeter et les instances du moteur pour le test de charge en conséquence. Surveillez les métriques du moteur de test pour optimiser le nombre d’instances.
Par exemple, pour simuler 1 000 utilisateurs virtuels, paramétrez le nombre de threads à 250 dans le script Apache JMeter. Configurez ensuite le test de charge avec quatre instances du moteur de test (c’est-à-dire 4 x 250 threads).
L’emplacement de la ressource Azure Load Testing détermine l’emplacement des instances du moteur de test. Toutes les instances du moteur de test dans une ressource de test de charge sont hébergées dans la même région Azure.
Instances de moteur de test et utilisateurs virtuels pour les tests basés sur Locust
Configurez le nombre total d’utilisateurs requis pour votre test de charge. Cela représente le nombre maximal d'utilisateurs simultanés de Locust. Vous pouvez configurer cela dans la configuration de charge lors de la création d’un test dans Azure Load Testing. Vous pouvez également configurer cela dans votre script de test ou dans le fichier de configuration Locust. Nous recommandons d'exécuter jusqu'à 500 utilisateurs à partir d'une instance de moteur de test.
Dans Azure Load Testing, les instances du moteur de test sont responsables de l’exécution du script Locust. Toutes les instances du moteur de test s’exécutent en parallèle. Vous pouvez configurer le nombre d’instances pour un test de charge.
Le nombre total de moteurs requis pour un test de charge est alors : nombre de moteurs = (nombre total d'utilisateurs) / 500.
Si vous configurez le nombre total d’utilisateurs dans la configuration de charge, Azure Load Testing renseigne automatiquement le nombre de moteurs. Si nécessaire, vous pouvez mettre à jour le nombre de moteurs. Surveillez les métriques du moteur de test pour optimiser le nombre d’instances.
Par exemple, pour simuler 2 000 utilisateurs, définissez le Nombre total d’utilisateurs dans la configuration de charge sur 2 000. Azure Load Testing renseigne automatiquement le nombre de moteurs sur 4. Mettez à jour le nombre de moteurs si nécessaire. Si vous avez configuré les utilisateurs dans votre script de test ou votre fichier de configuration Locust sur 2 000, définissez les instances du moteur sur 4 dans la configuration de chargement.
L’emplacement de la ressource Azure Load Testing détermine l’emplacement des instances du moteur de test. Toutes les instances du moteur de test dans une ressource de test de charge sont hébergées dans la même région Azure.
Contenu connexe
- Plus d’informations sur les limites et quotas de service dans le Test de charge Azure.