1. installation de jmeter sous Linux
Afin de faciliter le fonctionnement de jmeter, cet article utilise une presse Linux et un ordinateur Mac. ijmeter doit être installé sur les deux appareils. La version de jmeter et l'état du plug-in doivent être cohérents.
Migration de version pratique : afin de garantir que la version jmeter et l'installation du plug-in du script de débogage et le script en cours d'exécution sont cohérents, l'intégralité du package jmeter sur mac peut être téléchargée sur la presse Linux pour décompression.
1.1. Vérifiez la version Java
Le fonctionnement de jmeter doit être basé sur l'environnement Java. Vous pouvez utiliser la méthode suivante pour vérifier si le JDK a été installé sur le système Linux actuel.
java -version
Le résultat est le suivant. Le système Linux a installé la version 1.8 du JDK :
1.2. Téléchargez Jmeter sur Linux
Comme mentionné ci-dessus, téléchargez le package Linux sur Mac sur le système Linux et décompressez-le. JMeter sur le système Mac doit s'assurer que tous les plug-ins requis pour les tests de résistance ont été installés. Si jmeter sur Mac apporte des modifications au plug-in et applique le plug-in nouvellement installé au script, mais que jmeter sur Linux n'installe pas le plug-in, le téléchargement du script peut échouer sur Linux.
Vous pouvez utiliser la commande lrzsz ou l'outil Xterm pour télécharger.
Dans l'image ci-dessous, jmeter a été téléchargé sur Linux et décompressé avec succès. Étant donné que le fichier téléchargé est une archive zip, utilisez la commande unzip pour le décompresser.
unzip apache-jmeter-5.4.3.zip
1.3. Configurer les variables d'environnement
Cette étape consiste à utiliser la commande jmeter plus facilement et peut être omise. La différence est qu'après avoir configuré jmeter, vous pouvez directement exécuter la commande jmeter dans n'importe quel répertoire pour démarrer le programme. Si vous ne configurez pas jmeter, vous devez accéder à le chemin d'installation de jmeter (dans le répertoire bin). ) exécute le programme exécutable de jmeter. Par exemple, le chemin d'installation de jmeter dans cet article est /root/tcmipresstest/apache-jmeter-5.4.3/bin. S'il n'est pas configuré, vous devez exécuter jmeter./root/tcmipresstest/apache-jmeter-5.4.3 /bin/jmeter. . En bref, configurer est plus pratique que ne pas configurer, et la configuration est recommandée.
Exécutez la commande suivante pour ouvrir le fichier de configuration :
vi /etc/profile
Après avoir ouvert le fichier de configuration, entrez "i" pour passer en mode d'édition par insertion. Insérez le contenu suivant dans le fichier :
export JMETER_HOME=/root/tcmipresstest/apache-jmeter-5.4.3
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
Le contenu de la variable JMETER_HOME est le chemin absolu du répertoire d'installation de jmeter (en fait le chemin du dossier après décompression ci-dessus). Comme mentionné ci-dessus, mon répertoire d'installation est /root/tcmipresstest/apache-jmeter-5.4.3. Ce chemin doit être remplacé en fonction de la situation réelle.
Après modification, utilisez "esc" et ":wq" pour enregistrer et fermer la page. Entrez la commande suivante pour que la configuration prenne effet.
source /etc/profile
Accédez au dossier bin, recherchez jmeter et vérifiez si le programme exécutable de jmeter dispose d'autorisations exécutables. Sinon, vous devez exécuter chmod +x jmeter pour accorder les autorisations.
Entrez la commande suivante. Si les informations de version de jmeter sont imprimées, la configuration est terminée :
jmeter -v
Imprimez l'image suivante :
2. Utiliser jmeter sous Linux
jmeter sur mac a une interface graphique très simple à utiliser, tandis que jmeter sur Linux n'a pas d'interface graphique, vous devez donc vous fier à la ligne de commande pour l'utiliser. Découvrons d’abord les commandes liées à jmeter. Une liste complète des commandes jmeter est fournie dans la section suivante à titre de référence.
2.1. Liste des commandes jmeter
commande courte | commande longue | décrire |
---|---|---|
–? | Imprimer les options de ligne de commande et quitter | |
-v | --version | Imprimer les informations sur la version et quitter |
-p | --propfile <argument> | Fichier de propriétés JMeter à utiliser |
-q | --addprop <argument> | Fichiers de propriétés JMeter supplémentaires |
-t | --fichiertest <argument> | Fichier de test JMeter (.jmx) à exécuter. "-t last" chargera le dernier fichier utilisé |
-l | --logfile <argument> | Fichier pour enregistrer l'échantillon |
-je | --jmeterlogconf <argument> | Fichier de configuration de journalisation JMeter (log4j2.xml |
-j | --jmeterlogfile <argument> | Fichier journal d'exécution de JMeter (JMeter.log) |
-n | --nongui | Exécuter jmeter en mode non-GUI |
-s | --serveur | Exécuter le serveur JMeter |
-E | --proxyScheme <argument> | Définir le schéma de proxy pour le serveur proxy |
-H | --proxyHost <argument> | Configurer le serveur proxy pour que JMeter l'utilise |
-P | --proxyPort <argument> | Définir le port du serveur proxy JMeter à utiliser |
-N | --nonProxyHosts <argument> | Définir une liste d'hôtes non proxy (par exemple : *.apache.org | localhost) |
-u | --nom d'utilisateur <argument> | Définir le nom d'utilisateur pour le serveur proxy utilisé par JMeter |
-un | --mot de passe <argument> | Définir le mot de passe du serveur proxy utilisé par JMeter |
-J | --jmeterproperty <argument>=<valeur> | Définir d'autres propriétés JMeter |
-G | --globalproperty <argument>=<valeur> | Définir des propriétés globales (envoyées au serveur) telles que -Gport=123 ou -Gglobal.properties |
-D | --systemproperty <argument>=<valeur> | Définir d'autres propriétés du système |
-S | --systemPropertyFile <argument> | Fichier de propriétés système joint |
-F | --forceDeleteResultFile | Si avant de commencer le test, forcez la suppression des fichiers de résultats et des dossiers de rapports Web existants |
-L | --loglevel <argument>=<valeur> | [category=]level 例如:jorphan=INFO, jmeter.util=DEBUG ou com.example.foo=WARN |
-r | --runremote | Démarrez le serveur distant (tel que défini dans remote_hosts) |
-R | --remotestart <argument> | Démarrez ces serveurs distants (remplacez remote_hosts) |
-d | --homedir <argument> | Utilisation du répertoire personnel de JMeter |
-X | --sortieà distance | Quittez le serveur distant à la fin du test (non-GUI) |
-g | --reportonly <argument> | Générer un tableau de bord de rapport uniquement à partir des fichiers de résultats de tests |
-e | --reportatendofloadtests | Générer un tableau de bord de reporting après les tests de charge |
-o | --reportoutputfolder <argument> | Le dossier de sortie du tableau de bord du rapport. Le dossier doit être vide, sinon il échouera. |
2.2. Commandes jmeter couramment utilisées
Lorsque vous effectuez un test de scénario JMeter simple, tel qu'un test de pression à interface unique non distribuée sur une machine à pression unique, vous pouvez exécuter directement la commande suivante :
jmeter -n -t xxx.jmx
Dans la commande ci-dessus, -n signifie s'exécuter en mode non-gui et -t xxx.jmx signifie exécuter le plan de test xxx.jmx.
Lors des tests réels, des commandes supplémentaires peuvent être utilisées pour ajouter des fonctionnalités. comme suit:
jmeter -n -t xxx.jmx -l xxx.jtl -e -o xxx/xxx
Exécutez la commande ci-dessus. Une fois l'exécution terminée, le fichier xxx.jtl sera généré et un rapport de tableau de bord sera généré dans le répertoire xxx/xxx. xxx.jtl peut être téléchargé localement et affiché en mode interface graphique (comme dans les rapports de synthèse, l'affichage des arborescences de résultats, etc.) comme indiqué ci-dessous. Sélectionnez le fichier jtl, cliquez sur Parcourir et les données seront importées : jmeter prend en charge la génération de rapports HTML. à partir de fichiers jtl via des commandes
.
jmeter -g 2h.jtl -e -o report/2hReport
Après l'exécution de la commande, un dossier 2hReport est généré dans le répertoire des rapports. Ce dossier contient le fichier index.html, qui peut être ouvert dans le navigateur.
Le fichier index.html ne peut pas exister indépendamment des autres fichiers du dossier. Si vous téléchargez uniquement le fichier index.html et l'ouvrez, le rapport de test de la page Web ne s'affichera pas normalement.
Dans les scénarios de tests de stabilité, les commandes suivantes sont souvent utilisées :
nohup jmeter -n -t jmx/tcmi.jmx -l 2h.jtl > 2h_nohup.csv 2>&1 &
L'ajout de nohup devant peut continuer à s'exécuter en arrière-plan pendant les tests de stabilité à long terme. Même si la connexion locale est déconnectée de la presse distante, le script peut continuer à être exécuté sur le terminal distant sans se bloquer.
3. Analyse du mode GUI de jmeter
Dans ce qui précède, un fichier jmx est utilisé pour exécuter jmeter sur la ligne de commande. Ce fichier est un fichier de plan de test, qui joue un rôle important dans l'ensemble du processus de test de résistance. De manière générale, il est généré dans le mode graphique de jmeter. En d'autres termes, j'ai d'abord débogué le script dans le mode graphique jmeter de Mac, obtenu le fichier jmx, puis téléchargé le fichier sur la presse Linux pour exécution. Voyons comment utiliser le mode graphique de jmeter pour générer des fichiers jmx, ou exécuter des tests de contrainte directement dans le mode graphique de jmeter.
3.1. Démarrez l'interface graphique de jmeter sur mac
Téléchargez directement le package compressé jmeter sur mac et décompressez-le sans configurer de variables d'environnement. Après décompression, ouvrez le terminal de ligne de commande et exécutez la commande suivante pour démarrer jmeter.
sh /Users/zy/apache-jmeter-5.4.3/bin/jmeter
/Users/zy/apache-jmeter-5.4.3/bin/jmeter est le chemin d'accès à mon fichier exécutable jmeter décompressé. Le fichier exécutable est placé dans le répertoire bin sous le dossier décompressé.
Après avoir exécuté avec succès la commande ci-dessus, l'interface graphique peut être ouverte. À ce stade, la ligne de commande s'affiche comme suit :
Ne vous inquiétez pas. Regardons l'interface graphique de jmeter.
Cette interface est une interface graphique chinoise. La valeur par défaut lors de l'ouverture de jmeter est l'anglais. Vous pouvez sélectionner le chinois simplifié via la sélection de langue dans "Options" dans la barre de menu supérieure.
Personnellement, je préfère utiliser l'anglais.