Recherche avancée

Tests de performance sous Gatling

L'objectif de cet article est de vous donner les clés pour enregistrer votre premier scénario sur l'outil de montée en charge open source Gatling. 

 

Gatling est un framework open source d'injection de charge basé sur Scala, Akka et Netty, concurrent direct de la solution Jmeter dont nous avons dejà parlé précédemment (mon premier scénario avec JMeter).

 

Tout d'abord, pourquoi le nom Gatling ? Étymologiquement, Gatling fut le nom de la première mitrailleuse efficace combinant fiabilité, puissance de feu et facilité d'alimentation (cf Wikipédia). Ce nom justifie donc très bien le logo, et la puissance de la solution Gatling. En effet, Gatling réfute le paradigme suivant : "1 thread = 1 Virtual User", pourtant employé chez de nombreux concurrents comme JMeter. Lorsque l'on gère un Virtual User par Thread, il s'avère que le thread en question passe 80 à 90 % du temps en mode repos (sleep). Si on souhaite démultiplier le nombre de Virtual User, nous sommes donc obligé de démultiplier le nombre de threads, consommateur en ressource mémoire, et impacte directement le nombre de machines Injecteurs à mettre à disposition.

 

Le modèle utilisé par Gatling est celui dit modèle des acteurs consistant en l'appel de messages asynchrones. Les acteurs sont : Une boite aux lettre ainsi qu'une unité de calcul

Les acteurs communiquent entre eux en envoyant des messages aux boîtes aux lettres des autres acteurs. L'unité de calcul consomme le message et exécute l'action. L'unité de calcul est ainsi en constante activité. Ce modèle d'implémentation nous abstrait de la notion de thread, et permet l'injection de charge à très haute volumétrie avec peu de ressources, et donc peu de machines d'injecteurs.

 

Ressources liées à ce billet:

Gatling (http://gatling.io/#/resources/download)

Firefox (https://www.mozilla.org/fr/firefox/new/)

 

Dézipper l'archive Gatling dans un répertoire que nous nommerons par la suite GATLING_HOME

 

1. Lancement de l'application

 

Lancer le recorder Gatling en exécutant le binaire GATLING_HOME/bin/recorder.bat. L'application s'ouvre et présente l'écran suivant :

Test performance Gatling

Nommer correctement le scénario que vous souhaitez scripter dans le champs Class Name*: (sans espace, premier lettre en majuscule).

L'enregistrement des scripts de performance sur le protocole HTTP s'effectuent un proxy Gatling au niveau du navigateur. Gatling capturera alors l'ensemble des requêtes HTTP issues des scénarios métiers que vous reproduirez sur votre navigateur.

Cliquer sur Start !

Le Recorder ouvre une popup qui tracera toutes les actions que vous ferez dans votre navigateur.

Test de performance avec Gatling

 

2. Initialisation du proxy sur le navigateur (ici Firefox)

 

Dans Firefox, cliquer sur Options / Avancées / Réseau, puis cliquer sur Paramètres du bloc Connexion.

Spécifier les paramètres de proxy Gatling en localhost:8888

Adenord, test de performance, automatisation

 

 3. Enregistrement du scénario métier

 

Votre configuration est prête. Il n'a pas plus qu'à dérouler votre scénario métier sur votre navigateur Firefox, et votre proxy enregistrera toutes vos actions.

Votre scénario est terminé, il n'y a plus qu'à cliquer sur le bouton Stop & Save de l'interface Gatling.

 

4. Initialisation du profil de charge

  

Ouvrez le scénario précédemment enregistré avec un éditeur de texte. Pour cela, il suffit d'ouvrir le fichier se situant dans GATLING_HOME/user-files/simulations/monscenario.scala

La dernière ligne de la classe Scala n'est autre que le profil de charge à initialiser:

Test de performance Gatling

Vous pouvez changer cette ligne en

setUp(scn.inject(rampUsers(10) over(30))).protocols(httpProtocol) 

pour initialiser une profil de charge d'injection à 10 V.U. concurrents avec une rampe de montée en charge de 30 secondes.

 

5. Lancement du tir

 

Exécutez le fichier GATLING_HOME/bin/gatling.bat. Sélectionnez alors le scénario que vous souhaitez rejouer (dans l'exemple [0] JPetStore)

Test performance Gatling

Puis Gatling vous demandera un nom pour votre run. Saisissez le, et appuyez sur entrée. L'injection commence alors.

L'injection terminée, Gatling vous affichera un nom de répertoire ou les résultats sont stockés.

Ouvrez le fichier index.html de ce répertoire, et vous obtiendrez l'ensemble des courbes permettant de faire une analyse des résultats

Rapport test de performance Gatling

Rapport test de performance Gatling

Rapport test de performance Gatling

 

6. La suite

 

Il s'agit ici d'une première approche de l'application de test de montée en charge Gatling. La solution est riche en fonctionnalités permettant de rendre les scénarios modulaires, les variabiliser afin de les rendre plus robustes.

 

Adenord vous accompagne sur la mise en place de campagnes de test sous Gatling, et propose également des formations à l'utilisation de la solution Gatling.

 

 

Ajouter un Commentaire

Code de sécurité
Rafraîchir

Adenord

 

5 rue du moulin

59139 WATTIGNIES

 

Email : Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

 

Nous contacter

X FERMER