Les tests de performance

Les tests de performance

Les tests de performance (ou benchmarking) permettent de tester la capacité de l’application à tenir face à de très fortes sollicitations. On va créer des tests à des endroits très précis dans l’application grâce à des outils, et ce paquet de tests permettra de vérifier la performance globale de l’application. Une mauvaise performance peut se révéler catastrophique : arrêts des services, perte de patience des utilisateurs, coût supplémentaire à l’améliorer…

La question « est-ce que 10, 20, 1000, ou 100 000 utilisateurs peuvent se connecter au site en même temps ? » est un exemple typique de performances. Les développeurs ont des problèmes de performances à résoudre sur des sites internet avec beaucoup de trafics (par exemple un site de client bancaire), mais ils peuvent aussi en rencontrer sur des applications développées pour une poignée d’utilisateurs. Dans ces cas-là, les problèmes sont plus isolés.

Une application utilise une ou plusieurs ressources de la machine pour effectuer un traitement : le processeur (CPU), la mémoire volatile (RAM) ou le stockage (disque dur). Si l’une de ces ressources atteint souvent sa limite, alors il y a sûrement un problème de performance. La plupart des entreprises surveillent en temps réel l’utilisation de ces ressources dans leurs applications, et peuvent en être alertées s’il y a une anomalie.

On utilise des outils pour effectuer un plan de test de performance. C’est eux qui solliciteront les applications, et restitueront un rapport. Les outils proposent déjà plusieurs moyens de communiquer avec les applications, par exemple le REST, mais il est aussi possible pour certains de personnaliser l’outil (via plugin) afin de communiquer avec n’importe quel type d’application. Apache JMeter est un outil connu et gratuit en Java (compatible OS) qui offre beaucoup de possibilités.

Il existe différents types de tests de performance. Par exemple, on peut simuler un nombre défini d’utilisateurs qui consulteraient une page d’un site internet, et mesurer le temps d’attente (réponse). Ou bien un autre test qui ajouterait de plus en plus d’utilisateurs, jusqu’à la rupture d’une des ressources du serveur.

Les tests de performance valident certaines conceptions de logiciel, et préparent les applications dans des conditions réelles. Les erreurs lors de la mise en ligne de celles-ci sont diminuées.

Laisser un commentaire