24 septembre 2013

Mettre en place un test de charge

loadrunner métrologie
Si vous souhaitez connaître les possibilités de votre site ou de votre application web il n’y a que deux possibilités. Attendre le trafic et constater le point de rupture :-( Ce n’est pas très sérieux vis à vis de vos utilisateurs, et encore moins pour votre image. L’autre solution consiste à mettre en place des tests de métrologie. La métrologie c’est la « science des mesures et ses applications », dans notre cas il s’agit essentiellement de simuler une montée en charge afin de mesurer le comportement de l’application et de ses sous systèmes.
Dans la pratique la première étape consiste à modéliser un utilisateur (son parcours, ses actions, etc…). Il est possible de créer plusieurs types d’utilisateur afin d’avoir un test cohérent avec la réalité. Le piège étant de ne tester qu’un type d’utilisateur en oubliant que dans la réalité il existe toujours des utilisateurs qui sortiront du parcours “prévu”. Ensuite il faut déposer ces scénarios sur des “injecteurs”, qui seront en charge de simuler les internautes (ou autres acteurs de votre système).
Il s’agit en général de serveurs dédiés à cette activité, ils disposent simplement des “robots” en charge de réaliser les parcours pré-définis. Dernière étape mettre en place des “capteurs” afin d’enregistrer le comportement de votre site et/ou application web. Ensuite c’est le départ de la “campagne de tir“, elle permet de mettre en oeuvre les scénarios et de mesurer le comportement de l’application.
HP-LoadRunner_ControllerIl existe de nombreux outils pour réaliser ce type de test de charge. Dans le domaine du libre JMeter est assez répandu. Il permet de mettre en place des campagnes relativement simple en simulant quelques centaines d’utilisateurs simultanés. Au délà d’un certains volume, ou quand la compléxité des scénarios augmente il est préférable d’investir dans un outil dédié. La grille des tarif est assez large, NeoLoad (de l’éditeur Neotys) permet par exemple de réaliser des tirs nombreux et précis (plusieurs milliers d’utilisateurs simultanés). Le coût variant en fonction de la charge, il varie de  quelques milliers d’Euros à 20K€ ou 30K€.
Ensuite pour des utilisations massives et très fréquentes ou pour un département spécialisé dans ce genre de chose il existe HP LoadRunner. Avec cet outil les tarifs s’envolent et il faut compter en centaines de milliers d’Euros la licence. Nous sommes là dans l’outil industriel.
Quelque soit votre budget il existe donc des solutions (il est aussi possible de louer ces applications). A vous de voir si elles correpondent à votre besoin. Mais je vous conseille vivement de programmer ce genre de test. Il vous permettrons de trouver les “bootleneck” de votre application.
Vous éviterez ainsi les problèmes le jour ou votre application sera sous les projecteurs, ce que je vous souhaite !
Comme d’habitude, n’hésitez pas à partager vos expériences, et à citer les sociétés/logiciels que j’ai oublié (comme QALoad de Compuware que je ne connais pas bien). J’en profite pour signaler que je n’ai aucun intérêt dans toutes les sociétés citées sur ce blog !

Aucun commentaire :

Enregistrer un commentaire