Load testing #1 – Répartition de charge

Le tir de charge (ou Load Testing) est une manière simple pour mettre en évidence des défauts dans le fonctionnement d’une application. En stressant l’application, nous pouvons provoquer les facteurs limitants en cas de forte charge. Pour cela, nous nous appuyons sur deux outils très complémentaires : Octoperf pour sa capacité rendre user-friendly JMeter et […]

JTJonas Tremsal/16 octobre 2017/2 min de lecture
41522856_s

Letir de charge(ou Load Testing) est unemanière simple pour mettre en évidence des défautsdans le fonctionnement d’une application. Enstressantl’application, nous pouvons provoquer lesfacteurs limitantsen cas de forte charge.

Pour cela, nous nous appuyons sur deux outils très complémentaires :

  • Octoperfpour sa capacité rendre user-friendly JMeter et a généré du trafic depuis différents points dans le monde ;

  • Performance Visionpour sa capacité à analyser les usages réseau.

Cas d’usage

Le tir de charge débute à16:52et se termine à17h46.

  • Flux Clients <-> Serveur Web

On constate une augmentation importante du temps de réponse serveur au cours du temps.

Les pics importants de temps de réponse correspondent à un nombre de transactions qui diminue :

Conclusion : Le temps de réponse augmente de façon importante mais le serveur Web ne cède pas malgré la charge.

  • Flux Apache <-> Serveurs Applicatif

On constate de grosses fluctuations de temps de réponse applicatif pour le serveur 1 :

Et pour le serveur 2 :

Sur le graphe suivant est affiché le nombre de transactions par hôte Applicatif, on observe un dysfonctionnement de la répartition de charge à 17h11 puis à partir de 17h20 :

C’est répartition de charge en « yo-yo » est bien visiblesur le graphe suivant qui représente le pourcentage total de transactions par hôte Java :

On peut également corréler temporellement les retransmissions clientes qui coïncident précisément avec le moment où un serveur Applicatif traite 90 à 100% du trafic :

Conclusion : La répartition de charge entre les deux serveurs Applicatifs s’est mal passée, chacun des serveurs absorbant à tour de rôle l’intégralité du trafic. Cela a pour conséquence un effondrement des performances globales.

Conclusion

C’est en menant uneanalyse transverse, à la fois orientéeapplicationetinfrastructureque le combo gagnantOctoperf et Performance Visionprend tout son sens.

N’hésitez pas àcontacternos experts pour échanger sur vos problèmes de performance.

JT

Jonas Tremsal

Consultant NPM

Auteur