Evaluation de la Performance

On croit à tort que l’évaluation de la performance se limite à une série de tests. Or il s’agît de bien plus, car elle requiert une méthodologie précise, garantissant des résultats cohérents, justes et fiables. Notre méthodologie, déjà publiée dans plusieurs ouvrages reconnus, est simple et flexible tout en étant extrêmement puissante. Elle s’appuie sur les étapes suivantes:
• Définir les critères de performance
• Définir les unités de mesure
• Définir les conditions du test, y compris les outils de monitoring
• Simuler, de la manière la plus réaliste possible, l’usage réel de l’application
• Executer les tests

Les tests utilisés sont regroupés parmi les catégories suivantes:

Tests de charge, utilisés pour comprendre le comportement de l’application dans le cadre d’une utilisation normale en environnement de production. La métrique et les outils de monitorage préalablement définis présentent une image claire de l’exécution de l’application, ainsi que de tout problème soulevé.
Ces tests sont aussi utilisés pour vérifier que les accords de niveau de service (service level agreements - SLA) sont atteints une fois placés dans l’environnement de production. Une utilisation supplémentaire de ces tests de charge est la vérification du bon fonctionnement des processus de reprise sur erreur.

Tests de stress (usure), qui sont utilisés pour mieux comprendre ce qui arrive quand une application excède ses niveaux de charge normale. L’objectif principal est de comprendre combien les performances définies vont se dégrader lorsque la charge augmente. Les informations obtenues pendant ces tests fournissent un excellent aperçu pour l’étude de charge.

Tests d’endurance, qui explorent le comportement de l’application dans une période de temps plus longue. Ces tests se concentrent surtout sur la consommation de ressources et permettent d’identifier les pertes de mémoire (memory leaks) et autres problèmes de bases de données.

Tests d’architecture, qui sont spécifiques aux fonctions du génie de la performance. La différence la plus significative avec les autres tests est que normalement ils ne simulent pas l’utilisation typique de l’application et que les conditions de test sont d’un niveau de stress (usure) extrêmement élevé.