Quels sont les meilleurs outils de test de charge pour simuler la charge de trafic d’un site web ?
Il existe de nombreux critères permettant de différencier les outils de test de charge et cela dépend vraiment de vos besoins.
Mesure de la performance de bout en bout.
C’est l’une des caractéristiques qui différencient les solutions de test de charge haut de gamme. Mesurer uniquement le temps de réponse de l’application Web fournit des informations précieuses, mais ne permet pas d’établir un lien avec les performances de l’infrastructure matérielle et logicielle sous-jacente. Sans ces informations, il est pratiquement impossible de comprendre où se trouve la source des goulets d’étranglement ou d’évaluer l’impact de niveaux de charge plus élevés.
Intégration complète des données
Il est essentiel de permettre une analyse croisée significative des données recueillies à partir de tous les composants de l’application. La possibilité de relier le temps de réponse d’une requête HTTP à un paramètre de configuration particulier du serveur d’application, à un cache surchargé ou à une requête de base de données peu performante, est une nécessité absolue pour « déboguer » efficacement les performances d’une application Web complexe. Tous les outils de test de charge de classe entreprise prennent en charge des modules de surveillance supplémentaires pour collecter des données sur les performances de l’application de bout en bout. Toutefois, seuls les outils d’essai présentant le plus haut niveau d’intégration de ces modules offriront la meilleure capacité d’analyse croisée et de corrélation des données générées par les moniteurs avec les statistiques renvoyées par les injecteurs de charge.
Modèle de déploiement
Il y a beaucoup de discussions sur les différents modèles de déploiement : les tests dans votre propre laboratoire de test ou les tests dans le nuage. En testant d’abord votre application web en interne, vous avez la possibilité de détecter les problèmes de performance plus tôt dans le cycle de vie de l’application. Il est plus facile de confirmer d’abord les performances de votre application en interne avant d’introduire des variables supplémentaires en effectuant des tests sur l’internet. D’autre part, les tests de charge en nuage permettent de simuler une charge importante provenant de différents sites géographiques.
Un outil de test de charge offrant la possibilité d’un déploiement local et dans le nuage est un grand avantage car l’ingénieur de performance peut réutiliser le script à travers le déploiement pour les deux types de tests.
Contrôle en temps réel
Il permet de surveiller l’ensemble de l’environnement de l’application Web lorsqu’il est soumis à une charge et de visualiser les données de performance au fur et à mesure de l’exécution du test. C’est particulièrement important pour le personnel d’assurance qualité et les développeurs, qui peuvent ainsi obtenir un retour d’information immédiat. Plus important encore, la possibilité d’utiliser le même outil pour surveiller en temps réel l’application Web en cours de production (sans utilisateurs virtuels, ou seulement quelques-uns, et avec un minimum de frais généraux) transforme votre solution de test de charge en un outil sophistiqué de débogage des performances. Les mêmes scripts utilisés dans les tests de charge peuvent être utilisés comme transactions synthétiques pour contrôler le temps de réponse en production, et toutes les fonctions d’analyse croisée sont disponibles pour identifier les sources des problèmes de performance (et comparer directement les données à celles observées dans les tests de charge).
Détection automatisée des anomalies
Il permet de détecter les tendances ou les conditions d’exception qui peuvent être à l’origine de problèmes de performance. Il s’agit d’une fonction spécialisée et configurable qui passe automatiquement au crible l’énorme quantité de données de test, les analyse et met en évidence les domaines susceptibles d’être à l’origine d’une perte de performance. Ces conditions d’exception doivent inclure des seuils sur la quantité de ressources utilisées (par exemple : espace disque, bande passante du réseau, utilisation du cache) et des informations sur les tendances utiles pour détecter des problèmes tels que les fuites de mémoire. Des outils plus avancés les classeront par niveau de gravité et suggéreront un plan d’action pour remédier au problème.
Rapports automatisés
Au-delà d’une augmentation immédiate de la productivité, l’automatisation des rapports, combinée à une détection personnalisée des anomalies, permet de créer des vues personnalisables et réutilisables. Il permet également d’obtenir une lecture rapide et reproductible de n’importe quel test en appuyant sur un bouton, au bénéfice d’un utilisateur particulier. Par exemple, un administrateur de base de données voudra déterminer rapidement si une requête peu performante ou un paramètre mal configuré est à l’origine d’un chargement de page trop lent. Un outil de rapport puissant, doté de la fonctionnalité « glisser-déposer », vous permettra de créer et de définir des modèles de rapport qui pourront ensuite être utilisés pour n’importe quel résultat de test. (Figure 2). Cela signifie que vous pouvez déposer votre modèle sur un dossier de résultats de tests et que les données appropriées seront instantanément extraites et rempliront automatiquement le modèle. Les données sont ensuite enregistrées dans un rapport et prêtes à être distribuées. Répétez la même étape en utilisant les résultats d’un autre test pour recevoir le même type de rapport sur ces données.
Coût de propriété réduit
Les mauvais tests d’applications Web ont un coût bien documenté, mais la sélection d’une solution de test de classe entreprise a également de nombreux coûts et un retour sur investissement. Les coûts de licence et de maintenance des logiciels peuvent varier considérablement d’un fournisseur à l’autre, tout comme l’étendue de la solution. L’intérêt réside ici dans le fait de n’accorder des licences que pour ce dont vous avez réellement besoin et ce que vous utiliserez réellement. Le rendement est toutefois plus difficile à évaluer, car il implique des considérations telles que la combinaison adéquate de fonctions, la facilité d’utilisation et d’installation, ainsi que de nombreux autres avantages qui semblent réduire le coût total de possession, mais qui restent difficiles à mesurer. Une fois que vous avez déterminé que votre solution de test nécessite peu ou pas de formation du personnel pour installer le logiciel, développer des scripts et des scénarios de test et qu’aucune assistance extérieure n’est nécessaire, il devient évident que la solution que vous avez choisie aura, en fait, un coût de propriété plus faible.
Par conséquent, la vraie question n’est pas seulement de savoir ce que chaque solution peut faire, mais aussi ce que vous feriez réellement avec chaque produit. Il ne s’agit pas seulement d’une fonction des solutions offertes par les fournisseurs, mais plutôt de l’adéquation entre une solution particulière, les caractéristiques techniques de vos applications, le personnel qui l’utilise et les attentes des différentes personnes au sein de votre organisation. Une chose est sûre cependant : plus il est difficile d’extraire de la valeur de chaque essai, plus le coût de possession sera élevé.