La “scalability” d’une application (que l’on peut franciser par le terme “scalabilité), c’est sa capacité à s’adapter à une montée en charge ou à une multiplication des données à traiter.
Le test de scalability est à différencier du test de montée en charge ou de performance. Le test de montée en charge mesure la capacité maximale qu’une application peut endurer sans rencontrer de problèmes de fonctionnement. Le test de scalability va plus loin, puisqu’il s’agit de d’évaluer la capacité de l’application à évoluer face à cette montée en charge, qu’il s’agisse d’effectuer des modifications sur le plan hardware ou software.
Dans cet article, nous allons vous présenter un scénario de création de test de scalability, ainsi que quelques bonnes recommandations et pratiques.
1./ Définir des scénarios d’utilisation
Un scénario d’utilisation peut comprendre le test d’une ou de plusieurs fonctionnalités. Il peut ainsi s’agir de l’inscription, de la consultation de l’application ou de l’utilisation de certains processus plus spécifiques (comme le tunnel de paiement par exemple). On peut également faire varier les entrées utilisateurs et les types d’utilisateurs. Enfin ces scénarios d’usage sont associés à des scénarios de charges, dans lesquels on va définir le volume que l’on souhaite contrôler, qu’il s’agisse de volume de connexions ou de transactions par exemple.
2/ Mettre en place le test
Pour mettre en place le test, il s’agira de créer l’environnement nécessaire avec le nombre d’utilisateurs virtuels désirés. Ce nombre sera augmenté progressivement selon le cahier des charges spécifié par le scénario.
3/ Lancer le test et mesurer la scalability
Une fois le scénario lancé dans l’environnement de test, c’est le moment d’effectuer des changements au niveau software et hardware afin de mesurer la scalability de l’application dans les conditions choisies. Par exemple, on va modifier le nombre de serveurs, la quantité de mémoire vive disponible…
Lors de cette étape, il est primordial d’effectuer ces changements avec rigueur et logique, afin de pouvoir mesurer l’impact de chaque élément sans qu’il y ait le moindre doute sur la responsabilité d’une éventuelle autre condition de l’expérience. Les tests doivent donc être effectués dans les mêmes conditions et selon la même procédure et il n’est pas possible de mesurer plusieurs facteurs simultanément. On se concentrera donc sur une variation d’un seul des facteurs.
4/ Exemples de critères pouvant être mesurés lors du test de scalability
- le temps de réponse
- le débit
- les visites par secondes, requêtes par secondes, transactions par seconde
- mesure de la performance au regard du nombre d’utilisateurs
- utilisation CPU et mémoire vive durant les tests
- mesure de la performance
- utilisation du réseau – nombre de données envoyées et reçues
5/ Analyse des mesures de performance
Une fois les tests effectués, reste encore la tâche de leur donner corps et sens.
L’analyse des résultats devrait ainsi permettre de répondre aux questions suivantes :
- quelle configuration donne le meilleur niveau de performance ?
- quelle est la réaction de l’application à la répartition de la charge ?
- quelles sont les limites de l’application en matière d’évolutivité ?
- quels sont les facteurs des goulots d’étranglement ?
Et pour découvrir davantage cette démarche de “test de scalability”, nous vous proposons de télécharger dès à présent notre infographie, en cliquant dessus pour l’afficher à taille réelle :
Vous souhaitez utiliser cette infographie sur votre site ? Pas de problème ! Source : Infographie : effectuer un test de scalability
N’hésitez pas non plus à la partager sur les réseaux sociaux !
Vous aimez cette infographie ? N’hésitez pas à la partager sur les réseaux sociaux ou sur vos supports de communication, et bien entendu à la télécharger, pour votre propre usage. Enfin, n’hésitez pas également à nous laisser des commentaires, car il a certainement des critères utiles pour choisir son hébergeur que nous n’avons pas mentionné dans cette infographie synthétique. Au plaisir de vous lire !