Modifier le groupe de threads d'un plan de test JMeter externe (fichier JMX)
Mon application prendra le fichier jmx comme plan de test de l'utilisateur et l'exécutera. J'ai installé JMeter distribué au backend de mon application (1 client JMeter et plusieurs serveurs JMeter).
Le défi auquel je suis confronté concerne les #threads nécessaires pour exécuter le plan de test.
- Si je prends #instances (serveurs JMeter exécutant le test) et #threads explicitement de l'utilisateur, comment puis-je configurer le plan de test fourni par l'utilisateur avec ce groupe de threads avant l'exécution? Cela me permettra de vérifier au préalable ces valeurs avec ma capacité de cluster et de machine.
J'avais lu sur Include Controller, mais cela nécessite nécessairement un plan de test utilisateur pour avoir Test Fragment.
- Si ce n'est pas explicite, comment vérifier la configuration du groupe de threads dans le plan de test utilisateur? Supposons que l'utilisateur ait placé de gros #threads dans le plan de test qui pourraient surcharger mon serveur JMeter, comment vérifier cette valeur et probablement avertir l'utilisateur de limiter les #threads?
Réponses
Il n'existe pas de "#threads_per_instance" dans le monde JMeter, si vous exécutez JMeter en mode distribué, chaque serveur (ou esclave ou générateur de charge) exécute le plan de test .jmx fourni par le client comme il en est ainsi si l'utilisateur télécharge un fichier avec 100 threads dans un groupe de threads et vous avez 1 esclave - vous aurez 100 utilisateurs. Si vous avez 2 esclaves - vous aurez 200 utilisateurs, etc.
Une autre chose est que vous ne pouvez pas dire au préalable combien de threads vous pourrez simuler à partir d'un seul esclave JMeter car cela dépend principalement de la nature du test: taille de la demande / réponse, nombre de pré / post processeurs, assertions, écouteurs, etc. Je recommanderais de mettre en œuvre une forme de surveillance de la santé des esclaves JMeter et d'avertir l'utilisateur si l'utilisation du processeur ou de la RAM ou du réseau commence à dépasser 80%. Cela peut être facilement réalisé en utilisant le plugin JMeter PerfMon
Nous ne savons pas quelles technologies sont utilisées dans «votre application», donc cette question est trop large. Les scripts JMeter .jmx ne sont que des fichiers XML, vous devriez donc pouvoir utiliser l' analyseur XML pour extraire le nombre de threads dans tous les groupes de threads et le «valider» d'une manière ou d'une autre.