Apache JMeter dans les nuages : BlazeMeter, mon premier test

Voici un premier billet sur la solution de test de charge BlazeMeter, basée sur Apache JMeter.

 

 

Tout d’abord une petite présentation de BlazeMeter (d’après ma compréhension).

BlazeMeter profite de l’informatique dans les nuages (Cloud Computing), plus précisément de l’offre de serveurs à la demande d’Amazon AWS (ce type d’offre s’appelle PaaS pour Plateform as a Service), sur laquelle, les gens de BlazeMeter orchestre la mise en oeuvre de JMeter sur des serveurs virtuels pour lancer des tests de charge JMeter, avec en plus l’ajout de graphiques pour suivre son tir, ainsi que de rapports de test sur les résultats du test de charge.

Je suis assez admirateur de leur solution, qui montre que l’on peut faire une très belle solution de test de charge sous forme de SaaS (Software as a Service) avec ce beau logiciel Apache JMeter !

Je vous propose donc dans ce premier billet de découvrir la solution BlazeMeter à travers un petit test (micro) de charge sur mon blog.

Tout d’abord, il faut savoir que la préparation du scénario de test de charge est exactement la même que pour un test de charge Apache JMeter « standalone ». Vous pouvez trouvez différents tutoriels sur JMeter sur mon blog bien entendu.

Voici le scénario proposé :

  • La page d’accueil de ce blog
  • La page A propos
  • La page de la liste des tutoriels JMeter
  • Les 4 pages du premier tutoriel test de charge JMeter

Les « écrans » (pages) sont regroupés dans des Contrôleurs de transaction (_TC_), les requêtes HTTP correspondant à une page ensuite (_PS_), puis les ressources associées (images, css, etc.) (_Res_)

Ensuite, il faut avoir un compte sur BlazeMeter. Il y a possibilité d’avoir un compte de test gratuit pour 1 semaine (Free Trial), ou bien de souscrire à l’une de leurs offres. Pour ma part, j’ai eu le droit à un compte « spécial développeur JMeter (membre PMC) » en tant que committer JMeter (Merci BlazeMeter) (faut bien des petits avantages à développer en open source).

Donc, on se connecte sur BlazeMeter.

Puis on clique sur le bouton Add Test, pour envoyer son scénario de test JMeter (fichier .jmx) via le formulaire ci-dessous :

On peut choisir le nombre de serveur JMeter que l’on souhaite, ainsi que les caractéristiques du tir (en cochant la case Override basic JMeter thread group parameters, à moins d’avoir déjà donné les bonnes caractéristiques de tir à son scénario). L’avantage de cocher la case, c’est de pouvoir modifier les paramètres de tir via l’interface BlazeMeter.

  • Noter que j’ai choisi un petit tir, avec seulement 1 console JMeter.
  • Noter aussi que l’on peut choisir la localisation géographique de son serveur de test (Europe, US, Brésil, Japon, etc.)

Ensuite, il suffit de cliquer sur le bouton Start pour lancer le tir.

Il faut attendre quelques minutes (de 3 à 10 minutes) pour la plateforme de tir soit opérationnelle et démarre le test.

Ensuite la console BlazeMeter nous donne le status Running pour son test.

Reste plus qu’à cliquer sur le bouton Load Report afin d’avoir le graphique rafraîchi chaque minute des résultats.

Et voilà le graphique de suivi de son tir, sur lequel on peut suivre deux indicateurs au choix en même temps :

Un onglet Monitoring permet de superviser la platefome de tir.

On peut bien entendu voir les logs de JMeter (le fameux jmeter.log) :

Voici ci-dessous, le graphique final pour mon micro test, (la durée du tir est ici de une heure (quasiment 1 h puisque le temps de lancement est compté dans l’heure du tir visiblement)) :

Noter le petit bouton « Tweet », il vous permet directement d’envoyer à vos followers le lien vers le rapport de test (qui donc devient public) :

 

 

Dessous le graphique, on a un tableau reprenant les statistiques de réponse du Récepteur Rapport Agrégé dans JMeter :

Pour finir, vous recevrez dans votre boîte aux lettre, un gentil email pour dire que le test est terminé, et que le rapport est consultable sur le site BlazeMeter.

J’en termine pour ce premier test avec BlazeMeter. Je pense qu’il s’agit d’une très bonne solution pour gagner du temps de mise en place de plate-forme de test de charge et faire de beaux (gros) tirs avec Apache JMeter. Par ailleurs, le graphique de suivi des résultats est drôlement pratique pour suivre en temps quasi-réel son test, surtout si on a un chef dans son dos.

Bien entendu, ce tir est un très petit tir. Il a juste vocation à montrer l’utilisation de BlazeMeter en tant que SaaS. La prochaine étape sera de réaliser un très gros tir sur un serveur cible (dans un data center avec une bonne connexion à l’Internet), avec la solution BlazeMeter et le maximum d’injecteurs (à priori, je peux monter à 60 serveurs avec mon profil de compte!). Je ferai donc un autre billet pour raconter ce gros tir 😉

 

./

 

 

 

 

 

 

Une réflexion sur « Apache JMeter dans les nuages : BlazeMeter, mon premier test »

Les commentaires sont fermés.