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.