Faites parler vos résultats

Produisez des résultats pertinents

Valider les pages clés

En charge, il est important de vérifier si la réponse du serveur est valide. Il s'agit à la fois de s'assurer que le scénario fonctionne bien comme prévu et que la forte charge ne provoque pas des erreurs sur l'application.

NeoLoad détecte automatiquement les requêtes en erreur en utilisant notamment le code retour HTTP. Par exemple, une requête retournant '500 internal error' sera marquée en erreur par NeoLoad. Cependant, beaucoup d'applications web ne renvoient pas de code erreur HTTP approprié lorsqu'elles gèrent leurs erreurs et NeoLoad ne peut détecter automatiquement l'anomalie.

Il faut alors explicitement gérer le cas en vérifiant la validité du contenu retourné par le serveur aux points clés de l'application. Il est possible de vérifier la présence de texte attendu, par exemple "L'opération a bien été effectuée" ou de vérifier que la réponse ne contient pas "Erreur" par exemple.

Pour définir une validation de contenu :

  1. Dans les les profils d'Utilisateurs Virtuels, cliquer sur la requête dont la réponse doit être validée.

  2. Cliquer sur le bouton "Validation..." en bas à droite.

  3. Ajouter une Validation sur le contenu.

  4. Choisir un mode de validation: recherche de présence ou d'absence de texte simple, ou utiliser une expression régulière.

Après le test, sélectionner les requêtes en erreur ou dont la validation a échouée dans le panneau des erreurs, puis analyser le contenu de la réponse du serveur correspondante pour en déduire l'origine du problème.

Noter que la validation consomme des ressources (CPU, mémoire) de l'injecteur de charge, et qu'il est souvent pertinent de se retreindre au test des pages clés (celles qui font un accès base de donnée par exemple, ou qui sont susceptible d'échouer).

Commencer par des petits volumes

Procéder étapes par étapes :

  • Utiliser la fonction de validation d'un utilisateur virtuel pour valider le scénario d'un type d'utilisateur virtuel. Cela joue l'Utilisateur Virtuel une fois, avec le détail de la requête envoyée et la réponse du serveur pour chaque requête HTTP.

  • Commencer avec un test court et de faible charge. Corriger les erreurs éventuelles sur l'application qui surviennent à faible charge avant d'effectuer des tests à forte charge.

Arrêter les Utilisateur Virtuels en erreur

Lorsqu'un Utilisateur Virtuel est en erreur, il devrait interrompre son déroulement dans la plupart des cas. Dans le cas contraire, il peut jouer des requêtes qui n'ont pas de sens. Par exemple, si le login d'un utilisateur a échoué, il est inutile de jouer des requêtes de navigation ou de recherche sur l'application. Cela fausserait les statistiques de temps de reponse de ces pages.

Chaque type d'Utilisateur Virtuel peut être configuré pour arrêter son exécution en cas d'erreur ou d'assertion non respectée.

Utiliser des Conteneurs

Chaque transaction (enregistrement, achat on-line,...) peut être composée de plusieurs pages web. Regrouper ces pages dans un conteneur permet d'obtenir des statistiques par transaction.

Configurer des Moniteurs

NeoLoad permet de collecter des moniteurs de performances sur la plupart des infrastructures serveurs. Configurer des moniteurs sur tous les serveurs clés de l'infrastructure: utilisation CPU, mémoire, disque et réseau sur le serveur web, le serveur d'application et le serveur de base de données. Voir Chapitre 7, Moniteurs.

Exploiter les résultats

Comparer

Une manière efficace de mettre en évidence les différences de performance entre deux jeux de tests est de tracer simultanément les statistiques du même élément (page, requête, conteneur) et de différents tests sur le même graphe.

Cela permet de comparer visuellement les comportements de vos applications selon différents scénarios, ou après une modification (mise à jour, optimisation) de l'application.

Filtrer

Une manière efficace d'isoler les problèmes de performance est de filtrer un résultat de test. Le but est de restreindre les statistiques du test aux éléments (requêtes, pages, conteneur, utilisateur virtuel, population..) qui rencontrent des problèmes de performance.

Par exemple, cela permet de restreindre les statistiques à un sous-intervalle de temps du test : il est ainsi possible de voir les statistiques comme si le test ne s'est déroulé que sur l'intervalle de temps étudié.

Interpréter les statistiques avancées

Il y a deux types de statistiques avancées dans NeoLoad.

  • L'écart type qui permet de mesurer la variation des valeurs par rapport à la moyenne. Un écart type élevé montre que les temps de réponses fluctuent beaucoup, alors qu'un écart type réduit est le signe d'un temps de réponse constant et régulier.

  • La moyenne à 90 pourcent est calculée en supprimant 5% des valeurs les plus basses et 5% des valeurs les plus hautes. Cela permet d'ignorer les valeurs aberrantes et d'avoir des valeurs proches de ce que la plupart des utilisateurs finaux obtiennent.

Corréler statistiques et moniteurs

Les statistiques présentant des anomalies comme des augmentations significatives de temps de réponse ou l'apparition d'erreurs peuvent être corrélées avec des variations de mesures de certains moniteurs de performances.

Ces corrélations permettent généralement d'expliquer la raison d'une perte de performance et donne les indices pour identifier la cause principale du problème, qu'il soit un simple réglage d'une configuration de serveur, ou une saturation d'une ressource principale comme la mémoire par exemple.

Gérer les résultats de session de test

Après de multiples sessions de test, il peut devenir difficile de gérer les différents résultats. Aussi, il devient important de rédiger un petit commentaire descriptif du test à chaque lancement. Ce descriptif est inclus dans le résumé de chaque test ainsi que dans les rapports générés.

Le Gestionnaire de Résultats permet de supprimer les résultats d'une ancienne session de test ou d'en générer un rapport (XML, HTML, PDF).