2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
L'interface graphique de jmeter est principalement utilisée pour déboguer les scripts
Créez d'abord un script
Démo : Comment scénariser une scène mixte ?
Utilisez un ratio commercial de 211
Services de base de données : y compris MySQL, Redis
port mysql par défaut 3306
netstat -lntp | grep 3306
En état d'écoute, 6379 est le port par défaut de Redis
netstat -lntp | grep 6379
Port de service du projet 18089
netstat -lntp | grep 18089
211 peut être converti en deux services de tests de résistance
L'une consiste à s'inscrire, l'autre à s'inscrire et à se connecter pour ajouter des produits.
Les deux sont à 50 %
jmeter—ajouter un groupe de threads-ajouter-un groupe de threads-utilisateur-thread
Convertir deux services de tests de résistance
jmeter - contrôleur de logique supplémentaire - contrôleur de débit
Convertissez deux services de tests de résistance.
La première activité de test de résistance comprend l'inscription, la connexion et l'ajout de produits
La deuxième activité des tests de résistance est l'enregistrement
50% chacun
jmeter-add-sampler-http-requête
Convertir deux services de tests de résistance
Écrivez selon le swagger d'enregistrement, entrez les paramètres
Généralement, vous n’avez pas besoin de renseigner l’identifiant lors de son insertion.
Addtime n'a pas non plus besoin d'être renseigné
Copiez et collez les données des paramètres dans jmeter
chemin basé sur l'URL
Ils passent tous json
Renseignez l'ip et le port selon le document d'interface
Il est préférable d'ajouter des affirmations
-nExécuter jmeter en mode non-gui
-t exécute l'emplacement du fichier de test Spécifie le script pour exécuter jmeter Il ne se trouve pas dans le chemin actuel.
-l spécifie le fichier de résultat généré, qui est un fichier jtl
-e Une fois le test terminé, générez un rapport de test
-o spécifie l'emplacement de stockage du rapport de test html
-r démarrage à distance
Installer jdk et jmeter sur Linux Press
Installer sous usr/local
Téléchargez directement jmeter sur la fenêtre de la presse Linux, car les plug-ins impliqués dans le script de débogage sont également disponibles.
Remarque : Si le script implique un fichier de paramètres csv, vous devez télécharger le fichier de paramètres csv dans le répertoire bin de jmeter sous Linux.
Les rapports d'agrégation et les écouteurs doivent être désactivés avant le téléchargement
5 fils, ajoutez-en un toutes les 30 secondes, soit 150
La durée doit être supérieure au temps d'appel de 150. S'il dure encore 50 secondes, réglez-le sur 200.
Une fois le téléchargement de jmeter réussi, vérifiez la version de jmeter et si elle est disponible.
Il y a deux endroits
Tout d’abord, le chemin de stockage du script de test doit créer un répertoire pour stocker le rapport HTML.
Avant d'exécuter le script, le répertoire res doit être vide
Deuxièmement, nettoyez les données de la table de la base de données sans tenir compte des données existantes.
résultat
548 requêtes complétées en 13 secondes
Ouvrir le rapport global
Le nombre de requêtes ko ayant échoué
temps de réponsetemps de réponse
tps
Comment afficher les fichiers jtl ?
jtl peut être ouvert dans n'importe quel écouteur, comme l'affichage de l'arborescence des résultats, du rapport agrégé, du tps, du temps de réponse.
Si ouvert dans un rapport global, cliquez sur Parcourir
Tels que tps, temps de réponse
Regardons d'abord les tps
Ajouter des tps
Cliquez pour parcourir
Temps de réponse
Parfois, une seule presse ne peut pas atteindre l’objectif et une presse distribuée est nécessaire.
Après tout, les ressources d'une seule machine sont limitées et il est difficile de prendre en charge une grande concurrence. Les presses à une seule machine présentent également des goulots d'étranglement.
Site officiel:https://jmeter.apache.org/usermanual/test_distribue_jmeter_pas_a_pas.html
Une machine serveur sert de machine de contrôle
Le reste des machines est utilisé comme machine de chargement
Le service demandé par la cible
Le contrôleur contrôle à distance le démarrage et l'arrêt de la machine de chargement en envoyant des signaux, et collecte en même temps les données et le résumé de la machine de chargement.
La machine de chargement démarre principalement les threads pour accéder au serveur et cibler le serveur soumis au test de résistance.
Généralement, le travailleur démarre la machine de contrôle du serveur jmeter pour contrôler à distance la machine de chargement. La machine de chargement démarre le thread et demande à la cible d'obtenir les données, puis les renvoie à la machine de contrôle.
Où sont placés les scripts une fois distribués ?
Un contrôleur, plusieurs travailleurs
Lors de l'exécution de non-gui, le script est transmis au serveur. Maintenant qu'il est distribué, où doit-il être transmis ?
Le script sera transféré au contrôleur.Pendant l'exécution, le script sera envoyé à chaque machine de chargement, c'est-à-dire qu'une fois que le chargement aura obtenu le script, il commencera à exécuter le script. Après l'exécution, les données seront transmises. à la machine de contrôle pour résumé.
Le pare-feu doit être fermé. Si le pare-feu n'est pas fermé, le port doit être ouvert.
Tous les clients doivent être sur le même sous-réseau.
Assurez-vous que jmeter peut accéder au serveur
Assurez-vous que les versions de jmeter et java sont les mêmes
désactiver SSL
Nécessite 3 machines virtuelles
Utiliser 181 comme contrôleur (machine de contrôle)
Utiliser 182 183 comme travailleur (charger la machine)
En parallèle, ces trois machines virtuelles doivent installer jdk et jmeter.
Voir la version jdk
Installer jmeter sur trois machines virtuelles
Le jmeter de la machine locale est transféré dans le répertoire usr/local de la machine virtuelle.
Vérifiez la version de jmeter après le téléchargement
182、182
Sauvegardez d'abord le fichier de configuration jmeter.properties
server_port peut être modifié ou non. La valeur par défaut est 1099.
désactiver SSL
server.rmi.ssl.disable=false, remplacez false par true
Démarrer le jemter
./jmeter-serveur
Vérifiez le port 182 pour voir s'il est en état d'écoute
vérifier
Connectez la machine de contrôle à la machine de chargement pour voir si le port est accessible.
Avant de configurer la machine de contrôle, déboguez sur jmeter dans la fenêtre.
win : pour le débogage
Sauvegardez d'abord le fichier de configuration jmeter.properties
Par défaut, cette machine est utilisée comme machine de chargement.
La machine de chargement actuelle est une machine de chargement distante, remplacez Remote_hosts=127.0.0.1 par Remote_hosts=192.168.117.182:1099.
L'adresse IP et le port de la machine de chargement distant doivent être écrits ici. Si plusieurs sont multiples, séparez-les par des virgules.
désactiver SSL
Remplacez server.rmi.ssl.disable=false par server.rmi.ssl.disable=true
Déboguez-le d’abord via cette machine
Redémarrez jmeter et relisez le fichier de configuration
Après le débogage sur Windows, accédez à Linux pour la configuration.
Configurer sur 181
Sauvegardez d'abord le fichier de configuration jmeter.properties
La machine de chargement actuelle est une machine de chargement à distance, quiremote_hosts=127.0.0.1
Changer pourremote_hosts=192.168.117.182:1099
L'adresse IP et le port de la machine de chargement distant doivent être écrits ici. Si plusieurs sont multiples, séparez-les par des virgules.
serveur.rmi.ssl.disable=false
Volontéserver.rmi.ssl.disable=false
Changer pourserver.rmi.ssl.disable=true
Lorsque le script est transmis à la machine de contrôle, le script sera automatiquement distribué à chaque machine de chargement.
Connexion à un seul scénario de test séparé
Après avoir téléchargé le script, exécutez le script
Exécuter via le chargement à distance
/usr/local/apache-jmeter-5.1.1/bin/jmeter -n -r -t test.jmx
Chaque machine de charge de travail (presse) dispose de 5 threads et la machine de contrôle total dispose de 10 threads.
Préparation environnementale
Deux machines virtuelles. Il y a un maître et deux esclaves. La machine Windows fait office de maître et l'esclave utilise une machine virtuelle.
Référence : https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Problèmes qui surviennent :
java.rmi.RemoteException : impossible de démarrer. localhost.localdomain est une adresse de bouclage
Objet distant créé : UnicastServerRef2 [liveRef : [endpoint :127.0.0.1:43474,objID:[-5a8dd143:17e2852fe88:-7fff, 3673082414768940798]]]
Le serveur n'a pas pu démarrer : java.rmi.RemoteException : impossible de démarrer. localhost.localdomain est une adresse de bouclage.
Une erreur s'est produite : impossible de démarrer. localhost.localdomain est une adresse de bouclage.
Informations sur l'exception : Exception de démarrage du serveur : l'appel de méthode distante Java a généré une exception : Impossible de démarrer le service. localhost.localdomain est une adresse de bouclage locale
Le nom d'hôte obtenu via la commande hostname est localhost.
Vérifiez la configuration des hôtes via la commande cat /etc/hosts localhost localhost.localdomain localhost4... pointe vers 127.0.0.1.
Solution:
Spécifiez l'adresse IP de l'hôte du serveur distant (rmi.server.hostname)
Commencez par spécifier la commande du terminal
./jmeter-server -Djava.rmi.server.hostname=192.168.2.2