Les 10 choses à vérifier avant de lancer son test de charge avec JMeter

Voici une check-list qui pourrait vous éviter quelques déconvenues (genre test de charge raté) si vous la déroulez juste avant de lancer votre test de charge.

  1. Vérifier que les éléments Groupe d’unités sont corrects, à savoir le bon nombre d’unités, la bonne montée en charge, le nombre d’itérations ou la bonne durée.
  2. Vérifier les éléments Compteurs de temps : est-ce que c’est la bonne valeur de temps de pause, ou de débit constant ?
  3. Vérifier que vous n’avez pas oublié de mettre un Récepteur pour enregistrer au format CSV un fichier de vos temps de réponses (ou bien ne pas oublier le « -l » dans la ligne de commande). Continuer la lecture de Les 10 choses à vérifier avant de lancer son test de charge avec JMeter

Test de performances et analyses avec WebSphere Application Server (et JMeter)

Un petit billet pour pointer sur cet article Performance testing and analysis with WebSphere Application Server, qui décrit comment faire un test (simple) de charge avec Apache JMeter sur une application J2EE hébergée sur un serveur WebSphere Application Server, puis comment procéder pour recherche le goulot d’étranglement avec les outils internes à WebSphere et d’autres outils IBM.

Ce n’est pas le premier billet qui utilisent JMeter sur le site IBM developerWorks, mais j’aime toujours ce type de billet, car d’une part, moi aussi j’utilise JMeter pour ce genre de test, mais également je travaille régulièrement sur des architectures WebSphere (définition, mise en place, recherche de cause de problème et bien entendu tests de charge :-)).

Noter aussi que dans ce billet, la recherche du point de saturation est faite d’un point de vue « débit » (throughput – cf. Figure 7)) sur une seule requête, et non temps de réponses « trop grand » comme généralement dans les tests de charge de site Web.

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. Continuer la lecture de Apache JMeter dans les nuages : BlazeMeter, mon premier test

Apache JMeter 2.7 est sortie

Une nouvelle version de JMeter vient tout juste d’être publiée. A peine quatre mois après la version 2.6 datant du 1er février 2012, voici déjà la version 2.7 !

Cette nouvelle version corrige des anomalies bien entendu, mais également apporte quelques nouveautés et améliorations.

Un nouvel échantillon Appel de Processus Système fait son apparition. Il permet de demander à JMeter de lancer et exécuter un programme situé sur la machine, tout en permettant l’ajout de paramètres et de variables d’environnement à ce programme. Continuer la lecture de Apache JMeter 2.7 est sortie

Apache JMeter 2.6 est sorti

Voici la première version de JMeter depuis la promotion du projet en tant que Top Level Domain (TLP) chez Apache. Pour rappel, JMeter était un sous projet de Jakarta, et était également le dernier de ses sous projets, les autres étant déjà devenu TLP.

La version 2.6 est une version qui apporte de jolies améliorations tout en amenant son lot de corrections d’anomalies.

Voici quelques captures de quelques nouveautés importantes : Continuer la lecture de Apache JMeter 2.6 est sorti

JMeter : Déterminer automatiquement le chemin d’un fichier Source de données CSV en fonction de son système d’exploitation

Ce billet est inspiré ce commentaire de Vincent D. Merci à lui pour son commentaire et son autorisation d’utilisation dans ce billet.

Imaginez que vous devez faire un test de charge distribué avec un poste contrôleur et deux postes injecteurs. Malheureusement, vos injecteurs n’ont pas le même système d’exploitation que votre poste contrôleur. Ce dernier est sous Windows, et les injecteurs sont sous Linux.

Dans votre script JMeter, il y a un élément Source de données CSV qui vous permet (par exemple) d’avoir une liste d’identifiants/mot de passe de connexion.

Lors de la mise au point de votre script JMeter, vous utilisez seulement votre poste contrôleur, et la valeur du champ Nom de fichier dans votre Source de données CSV est :

c:/Temp/liste_login.csv

Ce chemin est valable sous Windows, mais bien entendu, ne sera pas valable sur vos injecteurs lorsque vous allez lancer le test distribué.

Juste avant ce test, il faut modifier le script JMeter pour changer la valeur du Nom de fichier par :

/tmp/liste_login.csv

Facile à faire, mais aussi facile à oublier de faire…

Voici un moyen de le faire automatiquement. Continuer la lecture de JMeter : Déterminer automatiquement le chemin d’un fichier Source de données CSV en fonction de son système d’exploitation

Envoyer un email avec JMeter via son élément Requête SMTP

Ce billet est un petit « howto » pour vous montrer comment utiliser JMeter pour envoyer un email (courriel), ici en utilisant le serveur de messagerie SMTP de Google Mail.

Pour rappel, le SMTP (Simple Message Transfer Protocol) est le protocole normalisé d’échange de message électronique (email). Dans JMeter depuis la version 2.4, un nouvel échantillon appelé Requête SMTP a été ajouté pour avoir un client SMTP qui envoi donc un email.

Bien entendu, JMeter étant un outil de test de charge, avec cet échantillon, on peut faire un test de charge sur un serveur de messagerie franchement installé pour vérifier sa tenue de charge et robustesse (ce qui est mon cas), on peut aussi utiliser cet échantillon SMTP pour par exemple s’envoyer un email de rapport à la fin d’un test de charge « long » (qui dure plusieurs heures ou jours), ou tout simplement dans le cadre de la mise en place d’un système d’alerte en cas de temps de réponse dégradé d’un site web (par exemple) avec un script qui s’exécute toutes les x minutes ou heures.

Revenons à notre sujet, voici notre arbre JMeter tout simple pour ce test :

Continuer la lecture de Envoyer un email avec JMeter via son élément Requête SMTP

Deux tutoriels sur la réalisation de plan de tests de charge

Antonio Gomes Rodrigues nous livre deux tutoriels sur la réalisation de plan de tests de charge :

Par le passé, il avait déjà publié un autre tutoriel sur l’audit de performances d’une application en Java EE.

Intégration d’un test JMeter dans Hudson avec le plugin Hudson Performance

Hudson est une plate-forme d’intégration continue, JMeter est un outil de test de charge et aussi de tests fonctionnels (on a tendance à l’oublier, mais pour faire du test de charge, il faut savoir faire du test fonctionnel). Que diriez vous d’intégrer dans Hudson l’exécution d’un test (de charge) JMeter, et d’avoir un beau graphique pour voir l’évolution des temps de réponses de votre application en fonction des ‘builds’ Hudson / versions de votre application ?

La réponse à cette question est l’objet de ce tutoriel. Continuer la lecture de Intégration d’un test JMeter dans Hudson avec le plugin Hudson Performance

JMeter : petit test JMS Publication – Abonnement avec ActiveMQ

Pour faire suite à ce billet qui montre un test JMS de type Point-à-Point, voici un autre test JMS mais cette fois avec la notion d’abonnement (subscriber) et de publication (publisher).

Comme pour le premier test, nous continuons avec la messagerie orientée message (MOM) Apache ActiveMQ.

Après avoir téléchargé l’archive binaire d’ActiveMQ, on le décompresse, puis on le démarre avec ces commandes :

cd <Repertoire_ActiveMQ>
./bin/activemq start

Il est possible de vérifier que le serveur ActiveMQ fonctionne bien en se connectant sur http://localhost:8161/admin/ correspondant à l’URL de l’interface d’administration.

Du coté de JMeter voici comment ce présente notre petit test :

Tout d’abord, on notera la présence de 2 Groupes d’unités : un réservé pour l’Abonnement et un autre pour la Publication. Continuer la lecture de JMeter : petit test JMS Publication – Abonnement avec ActiveMQ