Test de charge de vos applications Azure App Service

Dans cet article, vous allez découvrir comment le Test de charge Azure peut être utilisé pour tester des applications hébergées sur Azure App Service. Azure App Service est un service complètement managé qui vous permet de créer, de déployer et de mettre à l’échelle des applications web et des API dans le cloud.

Avec le Test de charge Azure, vous pouvez simuler le trafic réel à grande échelle vers vos applications et services. Même si Azure App Service peut se mettre à l’échelle automatiquement, l’utilisation du Test de charge Azure pour exécuter des tests de charge améliore la fiabilité, les performances et l’optimisation des coûts, et vous permet de :

  • Vous assurer que tous les composants d’application, et pas seulement l’application web, peuvent gérer la charge attendue.

  • Vérifier que l’application répond à vos exigences de performances et de stabilité.

  • Utiliser les métriques et diagnostics des ressources d’application pour identifier un goulot d’étranglement des performances dans l’ensemble de l’application.

  • Éviter l’allocation excessive de ressources de calcul et réduire les inefficacités de coûts.

  • Détecter de façon précoce les régressions de performances en intégrant les tests de charge dans votre pipeline CI/CD et en spécifiant des critères d’échec des tests.

Simulation de trafic avec des tests de charge

Vous pouvez créer un test de charge pour simuler le trafic vers votre application sur Azure App Service. Le Test de charge Azure fournit deux options pour créer un test de charge :

  • Créer un test rapide basé sur une URL
  • Utiliser un script Apache JMeter (fichier JMX)

Après avoir créé et exécuté un test de charge, vous pouvez surveiller les métriques de ressources pour l’application web et tous les composants Azure dépendants pour identifier les problèmes de performances et de scalabilité.

Créer un test de charge basé sur une URL

Vous pouvez créer un test de charge basé sur une URL directement à partir de votre application web Azure App Service dans le Portail Azure. Lorsque vous créez le test de charge, vous pouvez sélectionner un emplacement de déploiement spécifique et utiliser l’URL de point de terminaison préremplie.

La capture d’écran suivante montre comment créer un test de charge basé sur un URL dans le Portail Azure.

Commencez par créer un test de charge basé sur une URL pour Azure App Service.

Créer un test de charge en chargeant un script JMeter

Le Test de charge Azure offre une prise en charge haute fidélité de JMeter. Vous pouvez créer un nouveau test de charge en chargeant un script Apache JMeter. Cette approche peut s’avérer utile dans les scénarios suivants :

  • Tester plusieurs pages ou points de terminaison dans un seul test
  • Tester les points de terminaison authentifiés
  • Passer des paramètres au test de charge, tels que des variables d’environnement ou des secrets
  • Tester des points de terminaison qui ne sont pas basés sur HTTP, tels que des connexions de base de données
  • Configurer des modèles de charge plus avancés
  • Réutiliser des scripts JMeter existants

Commencez par créer un test de charge en chargeant un script JMeter.

Si vous avez précédemment créé un test basé sur une URL, le Test de charge Azure génère un script de test JMeter. Vous pouvez télécharger ce script de test généré, le modifier ou l’étendre, puis le recharger.

## Surveiller que vos applications ne présentent pas de goulots d’étranglement et de problèmes d’approvisionnement

Pendant un test de charge, le Test de charge Azure collecte des métriques sur l’exécution du test :

  • Métriques côté client : il s’agit des métriques du moteur de test, telles que le temps de réponse de bout en bout, le nombre de requêtes par seconde ou le pourcentage d’erreurs. Ces métriques indiquent globalement si l’application peut prendre en charge la charge d’utilisateurs simulée.

  • Métriques côté serveur : il s’agit des métriques de ressources des composants d’application Azure, telles que le pourcentage UC du plan App Service, les codes de réponse HTTP ou l’utilisation des ressources de base de données.

Utilisez le tableau de bord du Test de charge Azure pour analyser les métriques d’exécution des tests et identifier les goulots d’étranglement des performances dans votre application ou déterminer si vous avez approvisionné de manière excessive certaines ressources de calcul. Par exemple, vous pouvez évaluer si les instances du plan de service sont de la taille appropriée pour votre charge de travail.

Capture d’écran montrant le tableau de bord des résultats des tests de charge dans le Portail Azure.

Apprenez-en plus sur comment surveiller les métriques côté serveur dans la Test de charge Azure.

Pour les applications hébergées sur Azure App Service, vous pouvez utiliser les diagnostics App Service pour obtenir des insights supplémentaires sur les performances et l’intégrité de l’application. Lorsque vous ajoutez un composant d’application App Service à votre configuration de test de charge, le tableau de bord des tests de charge fournit un lien direct vers le tableau de bord des diagnostics App Service pour votre ressource App Service.

Capture d’écran montrant la section « App Service » du tableau de bord de test de charge dans le Portail Azure.

Personnaliser les critères d’échec de votre test de charge

Les critères d’échec de test vous permettent de configurer des conditions pour les métriques de test de charge côté client. Si l’exécution d’un test de charge ne répond pas à ces conditions, le test est considéré comme ayant échoué. Commencez la configuration des critères d’échec pour votre test de charge.

Par exemple, vous pouvez spécifier que le temps de réponse moyen des requêtes ou que le pourcentage de requêtes ayant échoué dépasse un seuil donné. Vous pouvez ajouter des critères d’échec à votre test de charge à tout moment, qu’il s’agisse d’un test rapide ou si vous avez chargé un script JMeter.

Lorsque vous exécutez des tests de charge dans le cadre de votre pipeline CI/CD, vous pouvez utiliser des critères d’échec de test pour identifier les régressions de performances avec une build d’application.

Capture d’écran montrant la page des critères de test pour un test de charge dans le Portail Azure.

Utiliser des paramètres pour tester les emplacements de déploiement

Lorsque vous configurez un test de charge, vous pouvez spécifier des paramètres pour passer des variables d’environnement ou des secrets au script de test de charge. Ces paramètres rendent votre script de test réutilisable et reconfigurable. Découvrez comment utiliser des paramètres pour passer des variables d’environnement à un test de charge.

Un exemple consiste à utiliser un paramètre comme variable d’environnement pour éviter de stocker l’URL du point de terminaison d’application dans le script de test. Vous pouvez également utiliser des variables d’environnement pour passer d’autres paramètres de configuration au script de test JMeter. Par exemple, vous pouvez passer le nombre d’utilisateurs virtuels ou le nom de fichier d’un fichier d’entrée CSV au script de test.

Une autre utilisation des paramètres consiste à réutiliser votre script de test sur plusieurs emplacements de déploiement Azure App Service. Les emplacements de déploiement sont des applications actives avec leurs propres noms d’hôte et URL distinctes. Utilisez un paramètre pour le point de terminaison d’application, puis vous pouvez configurer des environnements intermédiaires pour votre application.

Capture d’écran montrant la page des paramètres d’un test rapide dans le Portail Azure, avec les paramètres de l’URL cible mis en évidence.

Étapes suivantes

Découvrez comment :