Personnalisation, Enregistrement du scénario et mise en place des paliers

Après avoir identifié son scénario fonctionnel, on passe à l’enregistrement de ce dernier sous JMeter.

Etape 3 : Préparation de la configuration JMeter pour l’enregistrement des résultats

Nous allons faire une petite configuration afin de faciliter la récupération des résultats dans Access par la suite.

Pour cela, on va dans le répertoire JMETER_HOME/bin puis on édite le fichier jmeter.properties (avec le Bloc-Notes ou autre éditeur de texte). Rechercher les champs suivants, puis modifier leurs valeurs par celles-ci :

jmeter.save.saveservice.timestamp_format=yyyy-MM-dd;HH:mm:ss
jmeter.save.saveservice.default_delimiter=;

On enregistre, et on peut (re)démarrer JMeter.

Etape 4 : Enregistrer son scénario fonctionnel sous JMeter

Il faut maintenant passer à l’enregistrement de son scénario fonctionnel sous JMeter, pour cela, vous pouvez suivre ce tutoriel.

Les résultats de l’enregistrement du scénario donne cela sous JMeter.

Résultats de l'enregistrement du scénario donne cela sous JMeter

Étape 5 : Personnalisation du scénario JMeter pour mettre en place le scénario de palier

Pour cela, on commence au niveau de l’item Test Plan, en ajoutant un nouveau Thread Group.

Au niveau de l'item Test Plan, en ajoutant un nouveau Thread Group

Ensuite nous allons modifier le nom du premier Thread Group en « TG1; ». On notera le point-virgule, il est très important car il va servir de séparateur pour importation dans Access par la suite.

Nous allons le nommer « TG1; »

En puis, nous allons renommer le second Thread Group en « TG2; » (ne pas oublier le point-virgule).

En puis, nous allons renommer le second Thread Group en « TG2; » (ne pas oublier le point-virgule).

Maintenant nous allons dupliquer le scénario de tir du Thread Group TG1 vers le Thread Group TG2. Pour cela, on se place sur l’item Recording Controller du TG1, puis bouton droit de la souris, et le menu Copy.

on se place sur l'item Recording Controller du TG1, puis bouton droit de la souris, et le menu Copy.

Puis on se place sur le deuxième Thread Group TG2, puis le bouton droit de la souris, et le menu Paste.

on se place sur le deuxième Thread Group (TG2), puis le bouton droit de la souris, et le menu Paste.

Voilà maintenant le scénario fonctionnel est dupliqué. On va ajouter un item Summary Report afin de pouvoir enregistrer et contrôler les résultats du test. Pour cela on se place sur l’item Thread Group TG2, puis bouton droit de la souris, menu Add > Listener > Summary Report.

Pour cela on se place sur l'item Thread Group TG2, puis bouton droit de la souris, menu Add > Listener > Summary Report.

Dans ce nouvel item, nous allons paramétrer l’item Summary Report, au niveau du champ Filename. On lui donnera la valeur « jmeter-results.csv ». Puis on cliquera sur le bouton Configure afin de paramétrer les champs qui seront enregistrés dans le fichier.

On lui donnera la valeur « jmeter-results.csv ». Puis on cliquera sur le bouton Configure afin de paramétrer les champs enregistrés du fichier.

Sur la nouvelle fenêtre qui apparait, on configurera les champs suivants :

Sur la nouvelle fenêtre qui apparaît, on configurera les champs suivants

Attention, cette configuration (nom du fichier de résultats, et champs dans ce fichier) est à reproduire sur l’item Summary Report du Thread Group TG1. On mettre exactement le même nom de fichier afin que JMeter enregistre les résultats dans le même fichier.

Après avoir dupliqué cette configuration, nous allons passer à la configuration des deux Thread Group pour avoir notre effet palier. Pour cela, on se place sur l’item Thread Group TG1, puis nous allons modifier les champs suivants :

  • Number of Threads (users) à 50
  • Ramp-Up Period (in seconds) à 500

Ensuite, nous allons activer le champ Scheduler en cochant la case. Puis dans les nouveaux champs qui deviennent visibles, nous allons modifier les deux champs suivants :

  • Duration (seconds) : 2500
  • Sartup delay (seconds) : 10 (juste pour laisser le temps à JMeter de démarrer)

On laissera les valeurs du Start Time et End Time. Elles seront ignorées par JMeter.

On reproduit les changements sur l’item Thread Group TG2. Avec quelques changements :

  • Number of Threads (users) à 50
  • Ramp-Up Period (in seconds) à 500

Ensuite, nous allons activer le champ Scheduler en cochant la case. Puis dans les nouveaux champs qui deviennent visibles, nous allons modifier les deux champs suivants :

  • Duration (seconds) : 1000
  • Sartup delay (seconds) : 1000

Et voilà notre scénario par palier est configuré (ne pas oublier d’enregistrer le tout).

Passons à l’exécution du tir de charge.

Flattr this!

6 commentaires

  1. Dams dit :

    Pourquoi ne pas utiliser un « Module controler » plutôt qu’un copier/coller. L’avantage du module controler c’est qu’on fait référence à un nœud unique. Si on doit faire des modifications par la suite c’est plus simple que de reporter les modifications partout. Un peu de factorisation ne fait pas mal.

  2. hanene dit :

    Dans le fichier jmeter.properties Rechercher définir les valeurs suivantes ainsi:

    jmeter.save.saveservice.timestamp_format=yyyy-MM-dd;HH:mm:ss
    jmeter.save.saveservice.default_delimiter=;

    Enregistrer le tir de charge (rapport consolidé)sous format csv:

    voici un extrait de ce que j’obtiens dans mon fichier jmeter-results.csv:

    « 09-17-09;11:32:10″;531;/prescrirefrancais/travail4/;200; »GU1; 1-2 »;true;9718;4;4;530
    « 09-17-09;11:32:10″;779;/prescrirefrancais/travail4/;200; »GU1; 1-1 »;true;9718;4;4;779

    –> Dans le fichier jmeter results.csv on trouve que le champ Timestamp est affiché entre deux guillemets: « 09-17-09;11:32:12 »;… du coup en ouvrant le fichier avec access on ne peut pas obtenir deux champs date et heure comme indiqué dans le paragraphe « 4.Insertion des résultats dans Access 2007 et génération d’un graphique  » car le  » est considéré comme séparateur de texte et le « ; » n’est pas contabilisé lors de la séparation des champs de la table Access.

    Ma question: que devrais je raffiner de plus pour avoir le même résultat que dans le paragraphe 4?

    NB: de même pour le champ: « Libellé du groupe d’unités » suivi de « point virgule » et « le champ code du groupe d’unités »: (« GU1; 1-2 »;)

    je n’ai trouvé aucune solution 🙁

    Merci de chercher avec moi sur ce point…

  3. Milamber dit :

    Bonjour,

    Dans le billet :
    http://blog.milamberspace.net/index.php/2008/10/26/faire-des-graphiques-de-resultats-jmeter-avec-gnuplot-100.html

    tu as la commande
    grep « MON_TRANSACTION_CONTROLLER » jmeter-resultats.csv | sed « s/\ »//g »
    avec le sed qui permet de remplacer le  » par rien.

    Tu peux aussi faire un édition/remplacer global avec un éditeur de texte comme UltraEdit ou Notepad++

    A+
    Milamber

  4. hanene dit :

    Bonjour,

    J’ai fait un édition/remplacer global avec Notepad++ et le problème de double cotes est résolu.

    Merci.
    A+
    Hanene.

  5. mariette dit :

    Bonjour,
    Je voulais savoir si c’était possible de faire plusieurs tests en même temps.
    ça serait pratique de faire 3 tests différents durant 8h.
    ça économiserait du temps.

    Mariette

  6. arnovodao dit :

    Bonjour,

    (Je débute dans les tests de charges et c’est pour un besoin très ponctuelle…)

    j’ai lu attentivement ce tuto qui est excellent et qui correspond partiellement à mon besoin pour la montée en charge + palier.

    Par contre, pour la descente de threads on passe de 100 à 50 instantanément. Mon client voudrait que la diminution des utilisateurs se fasse de façon progressive sur une durée déterminée, comme on a fait pour la montée en charge.

    Comment je dois faire?

    Merci pour vos réponses.