11. Création d'un plan de test de sujet JMS

JMS nécessite le téléchargement de certains fichiers JAR facultatifs. Veuillez vous référer à Mise en route pour plus de détails.

Dans cette section, vous apprendrez à créer un plan de test pour tester les fournisseurs JMS. Vous allez créer cinq abonnés et un éditeur. Vous allez créer 2 groupes de threads et définir chacun sur 10 itérations. Le nombre total de messages est de (6 fils) x (1 message) x (répéter 10 fois) = 60 messages. Pour construire le plan de test, vous utiliserez les éléments suivants : Thread Group , JMS Publisher , JMS Subscriber et Graph Results .

Remarques générales sur JMS : Il existe actuellement deux échantillonneurs JMS. L'un utilise des rubriques JMS et l'autre utilise des files d'attente. Les messages de sujet sont communément appelés messages pub/sub. La messagerie thématique est généralement utilisée dans les cas où un message est publié par un producteur et consommé par plusieurs abonnés. La messagerie de file d'attente est généralement utilisée pour les transactions pour lesquelles l'expéditeur attend une réponse. Les systèmes de messagerie sont assez différents des requêtes HTTP normales. En HTTP, un seul utilisateur envoie une requête et obtient une réponse. Le système de messagerie peut fonctionner en mode synchrone et asynchrone. Un échantillonneur JMS a besoin des fichiers jar d'implémentation JMS ; par exemple, à partir d'Apache ActiveMQ. Voir ici pour la liste des jars fournis par ActiveMQ.

11.1 Ajout d'utilisateurs

La première étape consiste à ajouter un élément Thread Group . Le groupe de threads indique à JMeter le nombre d'utilisateurs que vous souhaitez simuler, la fréquence à laquelle les utilisateurs doivent envoyer des demandes et le nombre de demandes qu'ils doivent envoyer.

Allez-y et ajoutez l'élément ThreadGroup en sélectionnant d'abord le plan de test, en cliquant sur le bouton droit de la souris pour obtenir le menu Ajouter , puis en sélectionnant Ajouter  →  ThreadGroup .

Vous devriez maintenant voir l'élément Groupe de threads sous Plan de test. Si vous ne voyez pas l'élément, "développez" l'arborescence du plan de test en cliquant sur l'élément Plan de test.

Ensuite, vous devez modifier les propriétés par défaut. Sélectionnez l'élément Thread Group dans l'arborescence, si vous ne l'avez pas déjà sélectionné. Vous devriez maintenant voir le panneau de configuration du groupe de threads dans la section droite de la fenêtre JMeter (voir la figure 11.1 ci-dessous)


Illustration 11.1.  Groupe de threads avec valeurs par défaut
Illustration 11.1. Groupe de threads avec valeurs par défaut

Commencez par fournir un nom plus descriptif pour notre groupe de threads. Dans le champ du nom, saisissez Abonnés .

Ensuite, augmentez le nombre d'utilisateurs (appelés threads) à 5 .

Dans le champ suivant, la période de montée en puissance, définissez la valeur sur 0 seconde. Cette propriété indique à JMeter le délai entre le démarrage de chaque utilisateur. Par exemple, si vous entrez une période de montée en puissance de 5 secondes, JMeter finira de démarrer tous vos utilisateurs à la fin des 5 secondes. Donc, si nous avons 5 utilisateurs et une période de montée en puissance de 5 secondes, le délai entre les utilisateurs débutants serait de 1 seconde (5 utilisateurs / 5 secondes = 1 utilisateur par seconde). Si vous définissez la valeur sur 0, JMeter démarrera immédiatement tous les utilisateurs.

Décochez la case intitulée " Forever " et entrez une valeur de 10 dans le champ Loop Count. Cette propriété indique à JMeter combien de fois répéter votre test. Si vous entrez une valeur de nombre de boucles de 0 , JMeter n'exécutera votre test qu'une seule fois. Pour que JMeter exécute à plusieurs reprises votre plan de test, cochez la case Toujours .

Répétez le processus et ajoutez un autre groupe de threads. Pour le deuxième groupe de threads, entrez " Publisher " dans le champ du nom, définissez le nombre de threads sur 1 et définissez l'itération sur 10 .

Dans la plupart des applications, vous devez accepter manuellement les modifications que vous apportez dans un panneau de configuration. Cependant, dans JMeter, le Panneau de configuration accepte automatiquement vos modifications au fur et à mesure que vous les apportez. Si vous modifiez le nom d'un élément, l'arborescence sera mise à jour avec le nouveau texte après avoir quitté le Panneau de configuration (par exemple, lors de la sélection d'un autre élément de l'arborescence).

11.2 Ajout d'un abonné et d'un éditeur JMS

Assurez-vous que les fichiers jar requis se trouvent dans le répertoire lib de JMeter . Si ce n'est pas le cas, arrêtez JMeter, copiez les fichiers jar et redémarrez JMeter.

Commencez par ajouter l'échantillonneur Abonné JMS à l'élément Abonnés ( Ajouter  →  Échantillonneur  →  Abonné JMS ). Sélectionnez ensuite l'élément Abonné JMS dans l'arborescence et modifiez les propriétés suivantes :

  1. Remplacez le champ Nom par " Exemple d'abonné "
  2. Si le fournisseur JMS utilise le fichier jndi.properties , cochez la case
  3. Entrez le nom de la classe InitialContextFactory. Par exemple, avec ActiveMQ 5.4, la valeur est " org.apache.activemq.jndi.ActiveMQInitialContextFactory "
  4. Saisissez l'URL du fournisseur. Il s'agit de l'URL du serveur JNDI, s'il en existe un. Par exemple, avec ActiveMQ 5.4 sur une machine locale avec le port par défaut, la valeur est " tcp://localhost:61616 "
  5. Saisissez le nom de la fabrique de connexions. Reportez-vous à la documentation du fournisseur JMS pour plus d'informations. Pour ActiveMQ, la valeur par défaut est " ConnectionFactory "
  6. Entrez le nom du sujet du message. Pour les sujets dynamiques ActiveMQ (créer des sujets dynamiquement), l'exemple de valeur est « dynamicTopics/MyStaticTopic1 »
    Remarque : La configuration au démarrage signifie que JMeter commence à écouter sur la destination au début du test sans possibilité de changement de nom. Configurer sur chaque échantillon signifie que JMeter (re)commence à écouter avant d'exécuter chaque échantillon d'abonné JMS, cette dernière option permet d'avoir le nom de la destination avec certaines variables JMeter
  7. Si le fournisseur JMS requiert une authentification, cochez " obligatoire " et entrez le nom d'utilisateur et le mot de passe. Par exemple, Orion JMS nécessite une authentification, tandis qu'ActiveMQ et MQSeries ne le font pas.
  8. Entrez 10 dans « Nombre d'échantillons à agréger ». Pour des raisons de performances, l'échantillonneur regroupera les messages, car les petits messages arriveront très rapidement. Si l'échantillonneur n'agrégeait pas les messages, JMeter ne serait pas en mesure de suivre le rythme.
  9. Si vous voulez lire la réponse, cochez la case
  10. Il existe deux implémentations client pour les abonnés. Si le fournisseur JMS présente des threads zombies avec un client, essayez l'autre.


Illustration 11.2.  Abonné JMS
Illustration 11.2. Abonné JMS

Ajoutez ensuite l'échantillonneur JMS Publisher à l'élément Publisher ( Ajouter  →  Sampler  →  JMS Publisher ). Ensuite, sélectionnez l'élément JMS Publisher dans l'arborescence et modifiez les propriétés suivantes :

  1. Remplacez le champ Nom par " Exemple d'éditeur ".
  2. Si le fournisseur JMS utilise le fichier jndi.properties , cochez la case
  3. Entrez le nom de la classe InitialContextFactory. Par exemple, avec ActiveMQ 5.4, la valeur est " org.apache.activemq.jndi.ActiveMQInitialContextFactory "
  4. Saisissez l'URL du fournisseur. Il s'agit de l'URL du serveur JNDI, s'il en existe un. Par exemple, avec ActiveMQ 5.4 sur une machine locale avec le port par défaut, la valeur est " tcp://localhost:61616 "
  5. Saisissez le nom de la fabrique de connexions. Reportez-vous à la documentation du fournisseur JMS pour plus d'informations. Pour ActiveMQ, la valeur par défaut est " ConnectionFactory "
  6. Entrez le nom du sujet du message. Pour les sujets dynamiques ActiveMQ (créer des sujets dynamiquement), l'exemple de valeur est « dynamicTopics/MyStaticTopic1 ».
    Remarque : La configuration au démarrage signifie que JMeter démarre la connexion avec la destination au début du test sans possibilité de changement de nom. Configurer sur chaque exemple signifie que JMeter (re)démarre la connexion avant d'exécuter chaque exemple JMS Publisher, cette dernière option permet d'avoir le nom de destination avec certaines variables JMeter
  7. Si le fournisseur JMS requiert une authentification, cochez " obligatoire " et entrez le nom d'utilisateur et le mot de passe. Par exemple, Orion JMS nécessite une authentification, tandis qu'ActiveMQ et MQSeries ne le font pas.
  8. Entrez 10 dans « Nombre d'échantillons à agréger ». Pour des raisons de performances, l'échantillonneur regroupera les messages, car les petits messages arriveront très rapidement. Si l'échantillonneur n'agrégeait pas les messages, JMeter ne serait pas en mesure de suivre le rythme.
  9. Sélectionnez la configuration appropriée pour obtenir le message à publier. Si vous souhaitez que l'échantillonneur sélectionne le message de manière aléatoire, placez les messages dans un répertoire et sélectionnez le répertoire à l'aide de la navigation.
  10. Sélectionnez le type de message. Si le message est au format objet ou au format map, assurez-vous que le message est généré correctement.


Illustration 11.3.  Éditeur JMS
Illustration 11.3. Éditeur JMS

11.3 Ajout d'un écouteur pour afficher le stockage des résultats de test

Le dernier élément que vous devez ajouter à votre plan de test est un écouteur . Cet élément est chargé de stocker tous les résultats de vos requêtes HTTP dans un fichier et de présenter un modèle visuel des données.

Sélectionnez l'élément Test Plan et ajoutez un écouteur Graph Results ( Add  →  Listener  →  Graph Results ). Ensuite, vous devez spécifier un répertoire et un nom de fichier pour le fichier de sortie. Vous pouvez soit le saisir dans le champ du nom de fichier, soit sélectionner le bouton Parcourir et naviguer jusqu'à un répertoire, puis entrer un nom de fichier.


Illustration 11.4.  Écouteur de résultats de graphique
Illustration 11.4. Écouteur de résultats de graphique
Go to top