Partager via


Exécution d'un test de charge

Après avoir créé, modifié et défini les options de configuration appropriées aux besoins de votre test de charge, Visual Studio Ultimate fournit plusieurs options pour exécuter des tests de charge.

Conseil

Avant d'exécuter un test de charge, il est conseillé de s'assurer que tous les tests unitaires et tous les tests de performances de site Web contenus dans le test de charge aboutissent lorsqu'ils sont exécutés en mode autonome. Vous pouvez vérifier les tests en les exécutant dans les fenêtres de l'Explorateur de tests ou Affichage des tests, ou à l'aide de l'éditeur de tests de performances de site Web. Pour les tests de performances de site Web avec liaison de données, lancez l'exécution avec toutes les valeurs de données.

Considérations relatives à l'exécution de tests de charge

Avant d'exécuter un test de charge, vous devez vérifier que le test de charge est correctement configuré pour satisfaire les exigences ou atteindre l'objectif du test.

Choisissez un modèle de charge approprié.

Pour chaque scénario de votre test de charge, choisissez un modèle de charge adapté aux objectifs de vos tests :

  • Modèle de charge constant

  • Modèle de charge dans l'étape

  • Modèle de charge en fonction des objectifs

Choisissez l'emplacement du magasin des résultats des tests de charge.

Considérations relatives au magasin des résultats des tests de charge

Définissez de manière appropriée l'intervalle d'échantillonnage du compteur de performance.

Considérations relatives à l'intervalle d'échantillonnage du compteur de performance

Pensez à inclure des détails de minuterie pour collecter des données de centile.

Considérations relatives à l'inclusion de détails de minuterie pour collecter des données de centile

Pensez à activer le traçage SQL.

Pensez à activer le traçage SQL

Déterminez si des agents de test supplémentaires sont nécessaires.

Ne surchargez pas les agents de test

Pour plus d'informations, consultez Considérations relatives aux tests de charge.

Modes graphiques

Pendant l'exécution d'un test de charge, l'analyseur de test de charge affiche par défaut la vue Graphiques. Les graphiques peuvent être affichés dans deux modes différents :

  • Mode de réduction   La réduction est le mode graphique par défaut de l'analyseur de test de charge pendant l'exécution d'un test de charge. Le mode graphique de réduction est utilisé pendant l'exécution du test de charge pour réduire le volume de données qui doivent être conservées en mémoire, tout en continuant d'afficher la tendance d'un compteur de performance sur la durée d'exécution complète.

  • Mode de défilement   Le mode graphique de défilement est disponible lorsque vous affichez le résultat d'un test de charge pendant son exécution. Un graphique de défilement est une vue facultative qui affiche les points de données les plus récents. Utilisez un graphique de défilement pour consulter uniquement les 100 intervalles de données les plus récents dans le test.

    Notes

    Le mode de zoom graphique est disponible uniquement lorsque vous consultez le résultat de test de charge achevé d'une base de données.

Changement de mode graphique

Pour basculer entre les modes de réduction et de défilement pendant l'exécution d'un test de charge, utilisez la liste déroulante Options de graphique de la barre d'outils de l'analyseur de test de charge. Sélectionnez Graphique des données pour l'ensemble de l'exécution pour le mode de réduction ou Graphique des données récentes uniquement pour le mode de défilement.

Tâches

Tâches

Rubriques associées

Configurer les paramètres d'exécution des tests de charge : les paramètres d'exécution sont un ensemble de propriétés qui influencent la manière dont un test de charge est exécuté. Les paramètres d'exécution sont classés par catégories dans la fenêtre Propriétés.

Exécuter un test de charge : vous pouvez utiliser diverses options d'interface utilisateur pour exécuter un test de charge, ou vous pouvez exécuter le test de charge à partir de la ligne de commande.

Exécuter un test de charge à distance : vous pouvez utiliser des agents de test et des contrôleurs de test pour exécuter votre test de charge sur un ou plusieurs ordinateurs distants.

Afficher les résultats des tests de manière graphique pendant l'exécution du test : les résultats d'un test de charge sont affichés sous forme de données dans plusieurs volets différents pendant que vous exécutez le test, ainsi qu'à l'achèvement du test.

Ajouter un commentaire au test de charge pendant son exécution : si vous analysez le test de charge pendant son exécution ou lorsqu'il s'achève, vous pouvez ajouter un commentaire comportant une description et un commentaire d'analyse arbitrairement long. Ils seront stockés de manière permanente avec le résultat du test de charge.

Repartir les tests de charge ou de performance de sites Web performance sur plusieurs ordinateurs : vous pouvez utiliser un groupe d'ordinateurs pour générer une charge simulée à tester et exécuter simultanément les tests à distance sur plusieurs ordinateurs.

Collecter les données de performance ASP.NET sur votre test de performances de site Web : vous pouvez utiliser l'adaptateur de données de diagnostic du profileur ASP.NET dans vos paramètres de test pour collecter les données de performance sur votre application Web ASP.NET.

Résoudre les problèmes d'émulation de réseau dans les tests de charge : vous pouvez vérifier si l'émulation de réseau fonctionne correctement dans vos tests de charge.

Exécuter des tests de charge avec Team Build : vous pouvez ajouter vos tests de charge à une catégorie de test qui peut être exécutée une fois qu'une build est terminée.

Considérations relatives au modèle de charge

Pour chaque scénario de votre test de charge, choisissez parmi les modèles de charge suivants le modèle approprié à vos objectifs de test.

Pour plus d'informations, consultez Modification des modèles de charge en modèle d'activités des utilisateurs virtuels.

Utilisation d'un modèle de charge constant

Un modèle de charge constant est utilisé pour exécuter la même charge utilisateur pendant l'exécution d'un test de charge. Soyez très prudent lorsque vous utilisez un modèle de charge constant dont le nombre d'utilisateurs est élevé. Vous risquez de solliciter de manière déraisonnable et irréaliste votre serveur ou vos serveurs de test de charge. Par exemple, si votre test de charge contient un test Web qui démarre avec une requête vers une page d'accueil et que vous configurez le test de charge avec une charge constante de 1 000 utilisateurs, le test de charge soumet les 1 000 premières requêtes à la page d'accueil aussi rapidement que possible. Cela risque de ne pas représenter une simulation réaliste de l'accès réel à votre site Web. Pour atténuer ce problème, pensez à utiliser un modèle de charge dans l'étape qui intègre progressivement les 1 000 utilisateurs ou spécifiez une période de préparation dans les paramètres d'exécution des tests de charge. Si vous spécifiez une période de préparation, le test de charge augmente la charge de manière progressive pendant la période de préparation. Pour plus d'informations, consultez Configuration des retards d'heure de début d'un scénario.

Utilisation d'un modèle de charge dans l'étape

Un modèle de charge dans l'étape peut être utilisé pour augmenter la charge sur le ou les serveurs au cours de l'exécution du test de charge. Il permet d'apprécier l'évolution des performances au fur et à mesure que la charge utilisateur augmente. Par exemple, pour connaître les performances de votre serveur ou de vos serveurs lorsque la charge utilisateur passe à 2 000 utilisateurs, vous pouvez exécuter un test de charge de 10 heures à l'aide d'un modèle de charge dans l'étape dont les propriétés sont les suivantes :

  • Nombre initial d'utilisateurs : 100

  • Nombre maximal d'utilisateurs : 2 000

  • Durée de l'étape (secondes) : 1 800

  • Durée de démarrage de l'étape (secondes) : 20

  • Nombre d'utilisateurs dans l'étape : 100

Ces paramètres exécutent le test de charge pendant 30 minutes (1 800 secondes) avec des charges utilisateur de 100, 200, 300 et jusqu'à 2 000 utilisateurs. Il convient d'apporter une mention spéciale concernant la propriété Durée de démarrage de l'étape. En effet, il s'agit d'une des seules propriétés qui n'est pas disponible dans l'Assistant Nouveau test de charge. Cette propriété autorise un accroissement par étape (par exemple de 100 à 200 utilisateurs) graduel plutôt qu'immédiat. Dans l'exemple, la charge utilisateur passerait de 100 à 200 utilisateurs toutes les 20 secondes, soit une augmentation de 5 utilisateurs par seconde. Pour plus d'informations, consultez Comment : spécifier la propriété de la durée de démarrage de l'étape d'un modèle de charge par étape.

Notes

Visual Studio Ultimate vous permet d'utiliser jusqu'à 250 utilisateurs virtuels sur une série de tests de charge locale. Si votre test de charge requiert davantage de serveurs virtuels ou si vous voulez utiliser des ordinateurs distants, vous devez acheter Visual Studio Load Test Virtual User Pack 2010. Vous pouvez acheter Visual Studio Load Test Virtual User Pack 2010 là où vous avez acheté Visual Studio Ultimate. Pour plus d'informations, consultez Gestion de vos licences utilisateur virtuel pour le test de charge avec un contrôleur de test et Configuration des contrôleurs de test et des agents de test pour le test de charge.

Utilisation d'un modèle de charge en fonction des objectifs

Un modèle de charge en fonction des objectifs est utile pour déterminer le nombre d'utilisateurs que votre système peut prendre en charge avant d'atteindre un certain niveau d'utilisation des ressources. Cette option est plus efficace lorsque vous avez déjà identifié la ressource limitative (autrement dit, le goulot d'étranglement) dans votre système. Considérons, par exemple, que vous savez que la ressource limitative dans votre système est l'UC de votre serveur de base de données et que vous souhaitez connaître le nombre d'utilisateurs pouvant être pris en charge lorsque l'UC du serveur de base de données est saturé à 75 % environ. Vous pourriez utiliser un modèle de charge en fonction des objectifs dont l'objectif est de conserver la valeur du compteur de performance « % temps processeur » entre 70 % et 80 %.

Avertissement

Si d'autres ressources limitent le débit du système, l'objectif spécifié par le modèle de charge en fonction des objectifs peut ne jamais être atteint. La charge utilisateur continuera à augmenter jusqu'à ce que la valeur spécifiée pour Nombre maximal d'utilisateur soit atteinte.

Généralement, il ne s'agit pas de la charge désirée. Vous devez donc prêter une attention particulière au choix du compteur de performance dans le modèle de charge en fonction des objectifs. Vous devez également prendre une décision réfléchie concernant la valeur du Nombre maximal d'utilisateurs, afin de définir une limite supérieure à la charge utilisateur.

Considérations relatives au magasin des résultats des tests de charge

Lorsque Visual Studio Ultimate est installé, le magasin des résultats de test de charge est configuré pour utiliser une instance de SQL Express installée sur l'ordinateur. SQL Express est limité à l'utilisation d'une capacité d'espace disque maximum de 4 Go. Si vous souhaitez exécuter de nombreux tests de charge sur une longue période, vous devez envisager de configurer le magasin des résultats de test de charge pour utiliser une instance du produit SQL Server complet, si elle est disponible. Pour plus d'informations, consultez Gestion des résultats des tests de charge dans le référentiel des résultats des tests de charge.

Considérations relatives à l'intervalle d'échantillonnage du compteur de performance

Choisissez une valeur pour la propriété Taux d'échantillonnage dans les paramètres d'exécution d'un test de charge selon la longueur de votre test de charge. Un taux d'échantillonnage moins élevé, tel que la valeur par défaut de cinq secondes, nécessite une capacité d'espace supplémentaire dans la base de données des résultats du test de charge. Pour les tests de charge de plus longue durée, l'augmentation du taux d'échantillonnage permet de réduire le volume de données collectées. Pour plus d'informations, consultez Comment : spécifier un taux d'échantillonnage d'un paramètre d'exécution des tests de charge.

Voici quelques instructions sur les taux d'échantillonnage :

Durée du test de charge

Taux d'échantillonnage recommandé

< 1 heure

5 secondes

1 à 8 heures

15 secondes

8 à 24 heures

30 secondes

> 24 heures

60 secondes

Considérations relatives à l'inclusion de détails de minuterie pour collecter des données de centile

Les paramètres d'exécution dans l'éditeur de test de charge contiennent une propriété nommée Stockage des détails de minuterie. Si la propriété Stockage des détails de minuterie est activée, le temps nécessaire à l'exécution de chaque test, transaction et page individuels pendant le test de charge est stocké dans le référentiel des résultats du test de charge. Cela permet aux 90ème et 95ème données de centile de s'afficher dans l'analyseur de test de charge des tables Tests, Transactions et Pages.

Vous avez deux possibilités pour activer la propriété Stockage des détails de minuterie dans les propriétés des paramètres d'exécution : StatisticsOnly et AllIndividualDetails. Quelle que soit l'option choisie, tous les tests, pages et transactions individuels sont chronométrés et les données de centile sont calculées à partir des données de temporisation individuelles. Avec l'option StatisticsOnly, les données de temporisation individuelles sont supprimées du référentiel dès que les données de centile ont été calculées. Cela réduit la capacité d'espace requise dans le référentiel lorsque vous utilisez des détails de minuterie. Toutefois, les utilisateurs expérimentés peuvent traiter les données des détails de minuterie d'une autre façon, en utilisant des outils SQL. Si c'est le cas, l'option AllIndividualDetails doit être utilisée afin que les données de détails de minuterie soient disponibles pour ce traitement. En outre, si vous affectez la valeur AllIndividualDetails à la propriété, vous pouvez analyser l'activité des utilisateurs virtuels à l'aide du graphique d'activités des utilisateurs virtuels dans l'analyseur de test de charge à l'issue de l'exécution du test de charge. Pour plus d'informations, consultez Analyse de l'activité des utilisateurs virtuels d'un test de charge dans la vue Détails de l'analyseur de test de charge.

Notes

Dans les versions antérieures de Visual Studio, notamment Microsoft Visual Studio 2005 et Visual Studio 2008, le paramètre Tous les détails individuels de la propriété Stockage des détails de minuterie était disponible. Toutefois, il y a deux différences importantes : en premier lieu, le paramètre Tous les détails individuels n'était pas le paramètre par défaut. Le paramètre Tous les détails individuels, quant à lui, a été configuré une fois les données collectées. La seule façon d'accéder à ces informations était l'utilisation de requêtes SQL.

La capacité d'espace requise dans le référentiel des résultats du test de charge pour stocker les détails de minuterie pouvait être très élevée, en particulier pour les longs tests de charge. En outre, le temps nécessaire pour stocker ces données dans le référentiel des résultats du test de charge à la fin du test de charge est plus long, étant donné que ces données sont stockées sur les agents de test de charge jusqu'à la fin de l'exécution du test de charge. Lorsque le test de charge est terminé, les données sont stockées dans le référentiel. La propriété Stockage des détails de minuterie est activée par défaut. Si cela pose un problème pour votre environnement de test, vous pouvez affecter la valeur Aucun à la propriété Stockage des détails de minuterie.

Pour plus d'informations, consultez Comment : spécifier la propriété de stockage des détails de minuterie d'un paramètre d'exécution des tests de charge.

Pensez à activer le traçage SQL

Pour diagnostiquer des problèmes de performance SQL, il existe un ensemble de propriétés sur les paramètres d'exécution dans l'éditeur de test de charge. Ces propriétés permettent d'activer la fonctionnalité de traçage SQL de Microsoft SQL Server pour la durée du test de charge. Si la fonctionnalité de traçage SQL est activée, les données de trace SQL peuvent être affichées dans l'analyseur de test de charge, dans la table Trace SQL qui est disponible dans la vue Tables.

Le traçage SQL constitue une alternative assez facile à utiliser pour démarrer une session SQL Profiler distincte pendant l'exécution du test de charge. Pour activer cette fonction, l'utilisateur qui exécute le test de charge doit disposer des privilèges SQL nécessaires pour exécuter le traçage SQL. Le répertoire dans lequel le fichier de trace sera écrit doit également être spécifié. Le répertoire est habituellement partagé. Lorsque le test de charge est terminé, le fichier des données de trace est importé dans le référentiel de test de charge et associé au test de charge qui a été exécuté, afin qu'il puisse être affiché ultérieurement à l'aide de l'analyseur de test de charge.

Pour plus d'informations, consultez Collecte de données de trace SQL pour surveiller et améliorer les performances dans les tests de charge.

Ne surchargez pas les agents de test

Si l'utilisation de l'UC d'un ordinateur agent de test est supérieure à 75 % ou si la mémoire physique disponible de cet ordinateur est inférieure à 10 %, ajoutez des agents à votre test de charge afin de garantir que l'ordinateur agent ne se transforme pas en goulot d'étranglement dans votre test de charge.

Pour plus d'informations, consultez Comment : spécifier les agents de test à utiliser dans les scénarios de test de charge et Distribution des tests de charge entre plusieurs machines de test à l'aide des contrôleurs de test et des agents de test.

Tâches connexes

Création et modification de tests de charge et de tests de performances de site Web

Fournit les instructions nécessaires pour vous permettre de créer et de modifier les tests de charge et les tests de performances de site Web.

Exécution de tests de performances de site Web

Fournit les informations relatives au mode d'exécution des tests de performances de site Web dans vos tests de charge.

Voir aussi

Concepts

Vue d'ensemble de l'analyseur de test de charge

Considérations relatives aux tests de charge

Autres ressources

Exécution de tests de charge et de tests de performances de site Web

Consideration for Load Tests that Contain Web Performance Tests