JMeter : Think time et ordre d’exécution, « les bons plans »

Un billet inspiré d’une discussion sur le groupe Google JMeter en français (merci Jslave).

Vous avez fait ce plan de test, avec 2 itérations dans la boucle (01 Contrôleur Boucle) :

En pensant avoir l’ordre d’exécution suivant (pour un groupe d’unités à 1-1-1) :

  • 01 Requête Login
    • (1ère itération de boucle)
      • (Compteur de temps fixe : pause 2 sec)
      • 02 Requête A
      • (Compteur de temps fixe : pause 2 sec)
      • 02 Requête B
      • (Compteur de temps fixe : pause 2 sec)
      • 02 Requête C
    • (2ème itération de boucle)
      • (Compteur de temps fixe : pause 2 sec)
      • 02 Requête A
      • (Compteur de temps fixe : pause 2 sec)
      • 02 Requête B
      • (Compteur de temps fixe : pause 2 sec)
      • 02 Requête C
  • 02 Requête Logout

Malheureusement, le plan de test n’aura pas cet ordre d’exécution Continuer la lecture de JMeter : Think time et ordre d’exécution, « les bons plans »

Tomcat Optimisation & Performance Tuning : présentation de Mark Thomas

Un petit billet pour vous parler de cette présentation de Mark Thomas, un committer sur Apache Tomcat, qui a fait une très bonne présentation sur les optimisations et les performances de Tomcat, dans le cadre des rencontres Spring.

La vidéo complète de sa présentation est disponible (46 min, en anglais), c’est extrêmement intéressant et enrichissant. La présentation PDF est téléchargeable également.

Je vous recommande au moins un parcours de la présentation pour voir le « process », la démarche à suivre pour tout problème de performance.

Sa présentation parle de Tomcat, mais certaines parties sont adaptables pour d’autres serveurs d’applications comme Jboss (bien sur), WebSphere, etc.

./

JMeter : suivre un tir de charge en mode non-gui avec le résumé statistique

Dans le billet précédent, j’indiquais qu’il est préférable de lancer un test de charge en utilisant JMeter en mode non-gui afin de préserver les ressources de la machine JMeter.

Cependant en mode d’exécution non-gui, il est frustrant de ne pas « voir ce qui se passe » : est-ce que le tir de charge se passe bien ?, est-ce qu’il n’y a pas d’erreurs ?, y-a-t-il un blocage ?, …

Heureusement pour nous, JMeter a prévu une option qui va nous permettre d’avoir quelques données durant un tir de charges exécuté en mode non-gui.

Il s’agit du « summariser », ce dernier va afficher à intervalle pré-défini les statistiques du test en cours. Continuer la lecture de JMeter : suivre un tir de charge en mode non-gui avec le résumé statistique

JMeter : Pourquoi exécuter son test de charges en mode non-gui (sans interface graphique) ?

JMeter dispose de deux modes de fonctionnement, un mode GUI et un non-GUI, « GUI » signifiant Graphical User Interface, c’est-à-dire un mode de fonctionnement avec une interface graphique utilisateur qui permet de créer, éditer un script et lancer un test de charges et autres choses. Le mode non-GUI ne permet pas de manipuler un script, mais simplement de lancer le script de test de charges.

Pourquoi ce mode non-GUI ? Parce qu’en mode GUI, JMeter peut être gêné par la gestion du ‘graphisme‘ pendant qu’il est en train d’exécuter un test de charges. Et cela peut avoir un impact sur la qualité des résultats du tir.

En effet, sur le poste JMeter, la gestion du mode graphique impacte : Continuer la lecture de JMeter : Pourquoi exécuter son test de charges en mode non-gui (sans interface graphique) ?

[JMeter] Tutoriel sur la génération d’un graphique OpenOffice.org Calc avec les résultats d’un tir de charges

En ce début d’année, voici un tutoriel sur la génération d’un graphique qui présente les résultats d’un tir de charges JMeter, en utilisant le tableur OpenOffice.org Calc.

Ce tutoriel est important, il vient compléter les autres tutoriels de ce site sur JMeter. Ces derniers étant orientés utilisation de JMeter, celui là se rapproche plutôt d’un tutoriel sur OpenOffice.org Calc et la fonctionnalité de Pilote de données (les tableaux croisés dynamiques sous Excel).

Avec ce tutoriel, vous n’avez plus de raison de ne pas bien présenter vos résultats de test de charges !

Bon courage ! clic

./

Enregistrer un scénario Jmeter d’un site en HTTPS via le proxy HTTP

Mise à jour du 14 juillet 2010 : La nouvelle version 2.4 de JMeter permet maintenant d’enregistrer une session de navigation en HTTPS. Le billet ci-dessous est devenu obsolète.

 

Vous devez effectuer un test de charge sur une application accessible seulement en HTTPS (protocole HTTP avec la couche SSL). Pour la préparation du tir de charges, vous pensez évidemment à enregistrer une session de navigation du scénario fonctionnel qui sera utilisée plus tard pour le tir.

Le problème c’est que lorsque vous lancez le mode proxy de JMeter pour enregistrer votre session de navigation, cela ne marche pas (erreur de méthode non implémentée…) ou bien vous avez coché le « attempt HTTPS spoofing » et la aussi vous avez une erreur (java impossible de se connecter).

Voici ce qu’il faut faire pour que tout cela fonctionne, c’est-à-dire que vous puissiez enregistrer une session de navigation sur un site HTTPS, au vue de faire un tir de charges ensuite. Continuer la lecture de Enregistrer un scénario Jmeter d’un site en HTTPS via le proxy HTTP

Intégrer JMeter à Eclipse et Hudson pour faire des tests fonctionnels de webservices

Un petit billet pour voir envoyer vers un autre billet qui donne un tutoriel pour intégrer JMeter dans son Eclipse, puis configurer JMeter pour un test fonctionnel sur un webservice.

L’auteur ensuite nous montre l’automatisation via Ant, puis l’intégration du script automatisé dans Hudson.

JMeter in Eclipse and Hudson

Bonne lecture.

./

Faire des graphiques de résultats JMeter avec Gnuplot

JMeter est un bon outil de test de charges, mais la restitution des résultats sous forme de graphique est parfois indigeste en utilisant JMeter.

Je vous propose un moyen rapide et fiable pour générer un graphique des temps de réponses pour une transaction (soit un échantillon unitaire, soit un contrôleur de transaction qui regrouperait plusieurs échantillons (samplers))

Pour cela, j’utilise le programme de traçage de dessin/graphique GNUPLOT. Il est disponible sur les environnements Unix/Linux, également sous Windows (via Cygwin ou en natif) et même Mac.

Je ne vais pas expliquer comment l’installer, c’est simple. (avec Ubuntu, c’est juste « sudo apt-get install gnuplot »)

Tout d’abord, commençons par la transformation du fichier de résultats JMeter CSV en un fichier qui sera lisible par Gnuplot. Ce dernier voulant un fichier contenant des colonnes séparées par des tabulations. Continuer la lecture de Faire des graphiques de résultats JMeter avec Gnuplot

Améliorations de la traduction française de JMeter

Je viens de participer à l’amélioration de JMeter au niveau de sa traduction en français de son interface. Ce billet vise tout d’abord à vous annoncer cette nouvelle, mais également à commenter un peu, quelques choix de traduction.

(Le « patch » a été accepté et validé sur le trunk du SVN de JMeter, ce qui signifie qu’il sera disponible dans la prochaine release. Bug 45929 sur bugzilla)

Il y avait un gros travail à faire, car la traduction actuelle vient vraisemblablement du résultat d’un moteur de traduction (aie!) ou carrément il n’y avait pas de traduction (principalement sur les dernières fonctionnalités ajoutées à JMeter). Continuer la lecture de Améliorations de la traduction française de JMeter

[Tutorial] Effectuer un test de charge distribué (distributed testing) avec JMeter

Cela fait longtemps que j’aurais dû le faire, et bien c’est fait.

Voici donc un petit tutoriel qui donne la démarche pour faire un test de charge distribué avec JMeter.

L’intérêt principal pour ce type de test, est que la charge à produire par JMeter pour simuler ses utilisateurs virtuels est répartie sur plusieurs machines JMeter. Cela évite ainsi les problèmes de saturation de bande passante du JMeter, de surcharge CPU, mémoire, etc quand vous simulez un très grand nombre d’utilisateurs.

Ce tutoriel donne aussi quelques bons conseils pour réaliser ce type de tir.

Bons tests !

./