JMeter 2.3.2 est sorti

Je sors la tête de l’eau, cela fait un moment que je n’ai pas pu écrire un billet (la faute au boulot bien sûr, et peut-être un peu de paresse -non, je confirme, c’est le boulot-).

Une nouvelle version de JMeter vient de sortir, il s’agit de la version 2.3.2, c’est une petite mise à jour qui apporte des corrections de bugs et quelques améliorations.

Parmi les nouveautés notables :

  • Le fichier de l’élément CSV Data Set Config peut maintenant être partagé à différents niveaux : pour tous les thread groups, par thread, par identifiant. Ceci permet d’avoir un seul fichier utilisé par plusieurs threads avec une lecture des données identiques et dans le même ordre.
  • L’élément Response Assertion peut être utilisé pour tester la présence d’une chaîne (substring) dans la réponse.
  • Un nouveau bouton apparaît dans les éléments de rapport Summary et Aggregate pour permettre la sauvegarde dans un fichier CSV des données affichées (et calculées) de ces rapports.
  • Dans l’élément View Results Tree, le rendu XML des réponses utilise la bibliothèque Tidy.

L’ensemble des changements est visible ici.

./

Liferay : immersion & JMeter Link HTML Parser

Depuis deux semaines, je suis en immersion (haute profondeur) dans Liferay (framework portail open source).

Je n’ai pas oublié la mise à jour du blog, d’autant que j’ai des choses à dire. Tout d’abord sur Liferay dès que je remonte à la surface (prévue dans 2J) et aussi sur JMeter.

En effet les articles sur JMeter étant les plus populaires sur ce blog, j’ai intérêt à continuer à vous satisfaire 😉 L’article que je prépare est sur l’utilisation de Link HTML Parser, cet élément qui permet de retrouver (par parsing utilisant des regexp) du texte dans une page HTML et de l’utiliser comme lien. Ceci simplifiant la jmeterisation de scénario fonctionnel complexe (par exemple avec des enchaînements de pages avec paramètres en GET).

Donc merci de votre patience, elle sera récompensée ce weekend.

[Tutorial] JMeter et l’authentification par certificat SSL

L’authentification par certificat SSL consiste à demander à l’utilisateur d’une ressource ou d’un site protégé de fournir un fichier certificat SSL pour pouvoir s’authentifier et ainsi accéder à la ressource ou au site.

L’authentification par certificat SSL est ce l’on appelle une authentification ‘forte’, c’est-à-dire plus sécurisée que la simple saisie d’un login / mot de passe. Par ailleurs sa mise en place est relativement simple, ou tout du moins très documentée sur Internet. Ainsi vous rencontrerez peut-être un site Web utilisant ce type d’authentification (par exemple un extranet) à tester avec JMeter.

Alors comment faire pour gérer cette authentification SSL avec JMeter ? Ce micro tutorial vous aidera à comprendre les subtilités du SSL dans JMeter.

Bon courage.

Utilisation de NDC de Apache Log4J pour tracer et suivre l’exécution d’une application Java

Un fonctionnalité pratique du framework de logging Apache Log4J est le NDC (pour Nested Diagnostic Contexts). Ce dernier permet de tracer et suivre plusieurs instances d’un même traitement dans un seul fichier de log. Une utilisation typique est le fichier de log d’une application web s’exécutant sur un serveur d’applications, car plusieurs instances d’une même servlet (et de plusieurs servlets) s’exécutent en même temps pour servir les utilisateurs.

La fonctionnalité permet donc de mieux comprendre le déroulement d’un traitement, en particulier lors qu’un problème survient lors d’un tir de charges ou sur un environnement en production. Et imaginons que ce problème ‘ne se reproduit pas’ en environnement de recette / développement, et donc l’origine pourrait être ces accès multiples en même temps… Continuer la lecture de Utilisation de NDC de Apache Log4J pour tracer et suivre l’exécution d’une application Java

[Tutorial] Superviser un serveur Tomcat avec JMeter

JMeter est un outil qui sait faire des petites choses sympas. La supervision d’un serveur Apache Tomcat par JMeter en fait partie.

JMeter à travers la servlet de statut fournie avec le serveur Tomcat peut afficher sous forme d’un graphique le nombre d’unités d’exécution actives, la mémoire JVM utilisée, et la charge (calculée) du serveur Tomcat. JMeter peut même le faire sur plusieurs serveurs Tomcat en même temps.

Voici donc un petit tutorial pour découvrir cette fonctionnalité de JMeter. Pour cela, on utilise un serveur Tomcat version 6.0 et un JMeter 2.3.

Bonne découverte.

[Tutorial] JMeter : faire un tir de charges par paliers et exploiter ses résultats avec Microsoft Access

Et voilà un nouveau tutorial sur JMeter. Il s’agit cette fois d’exécuter un tir de charges avec JMeter en utilisant des paliers de charges, c’est-à-dire que pour un même scénario, on va d’abord simuler une charge de N utilisateurs pendant une certaine période, puis après une période de montée en charges, nous simulerons N x 2 utilisateurs.

L’avantage d’un scénario par paliers est de permettre d’observer le comportement d’une application pendant une période « normale » et une période de « stress ».

Pour mieux voir son comportement, nous allons nous aider de Microsoft Access pour exploiter les temps de réponses enregistrés pendant le tir de charges, et ainsi générer rapidement un graphique. Ce dernier permettra une meilleure analyse du comportement, et sera beaucoup plus « sexy » dans un rapport de tir de charges.

Prêt à partir pour de nouvelles aventures JMeter ? Oui, alors Go sur cette page.

[Tutorial] Variabiliser un test de charges JMeter

Voici un nouveau tutorial sur JMeter. L’objectif de ce tutorial est montrer comment il est possible de variabliser les données saisies dans un formulaire HTML. C’est-à-dire de faire en sorte qu’à chaque exécution du scénario de tir de charges, les données saisies « changent ».

La variabilisation permet de faire par exemple des tirs de charges orientés « fonctionnels ». On peut ainsi imaginer un tir de charges qui serait plutôt l’exécution de cas de tests d’une application, permettant de vérifier que un traitement fonctionnel est correct. On peut même penser à des tests de non-régressions.

Pour découvrir ce tutorial sur la variabilisation, il faut voir cette page.

Bon courage dans vos aventures JMeter.

[Tutorial] Faire un test de charges d’un site Web avec Apache JMeter

Apache JMeter est un sous-projet Jakarta de la fondation Apache. C’est un outil permettant de faire différents tests de charges et de mesures de performances sur plusieurs types d’environnements. Allant ainsi du serveur Web au serveur FTP, base de données à travers JDBC, Middleware JMS, annuaire LDAP, connexion TCP, SMTP, etc…

C’est un outil (d’après mon expérience) robuste, fiable et qui sait faire pas « mal de choses », mais malheureusement, bien que l’interface IHM soit graphique (via swing), sa convialité n’est pas son point fort. Parfois pour faire quelque chose, il faut se creuser un peu la tête. Mais qui a dit que l’informatique c’était facile ?

Donc, JMeter peut nous aider si on veut tester la tenue de charge d’un site Web, il peut simuler des « utilisateurs virtuels » (VU) et exécuter en boucle un scénario fonctionnel au préalablement enregistré. Il mesure les temps de réponses du site Web, et permet ainsi d’avoir une idée sur sa tenue en charges.

Je vous propose un petit tutoriel pour apprendre à manipuler JMeter afin de faire un test de charge d’un site Web modèle (ici les servlets d’exemples livrées avec Tomcat 5.5).

La réalisation d’un tir de charges se faisant en étapes, voici le programme :

  1. Introduction

  2. Préparer son scénario fonctionnel

  3. « Jmeteriser » son scénario fonctionnel

  4. Affinage du scénario de tests

  5. Exécuter son scénario de tir de charges

 

A noter, que je compte ajouter d’autres tutoriels / articles autour de JMeter prochainement.