6. Construire un plan de test de base de données

Dans cette section, vous apprendrez à créer un plan de test de base pour tester un serveur de base de données. Vous allez créer cinquante utilisateurs qui envoient 2 requêtes SQL au serveur de base de données. De plus, vous direz aux utilisateurs d'exécuter leurs tests 100 fois. Ainsi, le nombre total de requêtes est de (50 utilisateurs) x (2 requêtes) x (répéter 100 fois) = 10'000 requêtes JDBC. Pour construire le Plan de Test, vous utiliserez les éléments suivants : Thread Group , JDBC Request , Summary Report .

Cet exemple utilise le pilote de base de données MySQL. Pour utiliser ce pilote, son fichier .jar contenant (ex. mysql-connector-java-XXX-bin.jar ) doit être copié dans le répertoire JMeter ./lib (voir Classpath de JMeter pour plus de détails).

6.1 Ajout d'utilisateurs

La première étape que vous souhaitez effectuer avec chaque plan de test JMeter 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 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 Figure 6.1 ci-dessous)


Figure 6.1.  Groupe de threads avec valeurs par défaut
Figure 6.1. Groupe de threads avec valeurs par défaut

Commencez par fournir un nom plus descriptif pour notre groupe de threads. Dans le champ de nom, saisissez Utilisateurs JDBC .

Vous aurez besoin d'une base de données valide, d'une table de base de données et d'un accès de niveau utilisateur à cette table. Dans l'exemple présenté ici, la base de données est ' cloud ' et le nom de la table est ' vm_instance '.

Ensuite, augmentez le nombre d'utilisateurs à 50 .

Dans le champ suivant, la période de montée en puissance, laissez la valeur de 10 secondes. 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 10 secondes, JMeter finira de démarrer tous vos utilisateurs à la fin des 10 secondes. Donc, si nous avons 50 utilisateurs et une période de montée en puissance de 10 secondes, le délai entre les utilisateurs débutants serait de 200 millisecondes (10 secondes / 50 utilisateurs = 0,2 seconde par utilisateur). Si vous définissez la valeur sur 0, JMeter démarrera immédiatement tous vos utilisateurs.

Enfin, entrez une valeur de 100 dans le champ Nombre de boucles. Cette propriété indique à JMeter combien de fois répéter votre test. Pour que JMeter exécute à plusieurs reprises votre plan de test, cochez la case Toujours.

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).

Voir Figure 6.2 pour le groupe de threads d'utilisateurs JDBC complété.


Illustration 6.2.  Groupe de threads d'utilisateurs JDBC
Illustration 6.2. Groupe de threads d'utilisateurs JDBC

6.2 Ajouter des requêtes JDBC

Maintenant que nous avons défini nos utilisateurs, il est temps de définir les tâches qu'ils effectueront. Dans cette section, vous allez spécifier les requêtes JDBC à effectuer.

Commencez par sélectionner l' élément Utilisateurs JDBC . Cliquez sur le bouton droit de la souris pour obtenir le menu Ajouter , puis sélectionnez Ajouter  →  Élément de configuration  →  Configuration de la connexion JDBC . Ensuite, sélectionnez ce nouvel élément pour afficher son Panneau de configuration (voir Figure 6.3).

Configurez les champs suivants (ils supposent que nous utiliserons une base de données MySQL appelée ' cloud ') :

  • Nom de la variable (ici : myDatabase ) liée au pool. Cela doit identifier de manière unique la configuration. Il est utilisé par l'échantillonneur JDBC pour identifier la configuration à utiliser.
  • URL de la base de données : jdbc:mysql://ipOfTheServer:3306/cloud
  • Classe de pilote JDBC : com.mysql.jdbc.Driver
  • Nom d'utilisateur : le nom d'utilisateur de la base de données
  • Mot de passe : mot de passe pour le nom d'utilisateur

Les autres champs de l'écran peuvent être laissés par défaut.

JMeter crée un pool de connexion à la base de données avec les paramètres de configuration spécifiés dans le Panneau de configuration. Le pool est référencé dans les requêtes JDBC dans le champ ' Nom de la variable '. Plusieurs éléments de configuration JDBC différents peuvent être utilisés, mais ils doivent avoir des noms uniques. Chaque demande JDBC doit faire référence à un pool de configuration JDBC. Plusieurs requêtes JDBC peuvent faire référence au même pool.


Illustration 6.3.  Configuration JDBC
Illustration 6.3. Configuration JDBC

Sélectionnez à nouveau l'élément Utilisateurs JDBC. Cliquez sur le bouton droit de la souris pour obtenir le menu Ajouter , puis sélectionnez Ajouter  →  Échantillonneur  →  Requête JDBC . Ensuite, sélectionnez ce nouvel élément pour afficher son Panneau de configuration (voir Figure 6.4).


Illustration 6.4.  Requête JDBC
Illustration 6.4. Requête JDBC

Dans notre plan de test, nous ferons deux requêtes JDBC. Le premier consiste à sélectionner toutes les instances de VM "en cours d'exécution", et le second consiste à sélectionner l'instance de VM "en cours d'exécution" (vous devez évidemment les remplacer par des exemples appropriés pour votre base de données particulière). Ceux-ci sont illustrés ci-dessous.

JMeter envoie les requêtes dans l'ordre dans lequel vous les ajoutez à l'arborescence.

Commencez par modifier les propriétés suivantes (voir Figure 6.5) :

  • Remplacez le nom par " VM en cours d'exécution ".
  • Entrez le nom du pool : ' myDatabase ' (le même que dans l'élément de configuration)
  • Saisissez le champ Chaîne de requête SQL.
  • Entrez le champ Valeurs des paramètres avec la valeur « En cours d' exécution ».
  • Entrez les types de paramètres avec ' VARCHAR '.


Illustration 6.5.  Requête JDBC pour la première requête SQL
Illustration 6.5. Requête JDBC pour la première requête SQL

Ensuite, ajoutez la deuxième requête JDBC et modifiez les propriétés suivantes (voir Figure 6.6) :

  • Changez le nom en ' VM Expunging '.
  • Remplacez la valeur des valeurs de paramètre par « Expunging ».


Illustration 6.6.  Requête JDBC pour la deuxième requête
Illustration 6.6. Requête JDBC pour la deuxième requête

6.3 Ajout d'un écouteur pour afficher/stocker les résultats du 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 JDBC dans un fichier et de présenter les résultats.

Sélectionnez l' élément Utilisateurs JDBC et ajoutez un écouteur de rapport de synthèse ( Ajouter  →  Écouteur  →  Rapport de synthèse ).

Enregistrez le plan de test et exécutez le test avec le menu Exécuter  →  Démarrer ou Ctrl  +  R

L'auditeur montre les résultats.


Illustration 6.7.  Résultats du graphique Auditeur
Illustration 6.7. Résultats du graphique Auditeur
Go to top