1. Introduction
JMeter est un outil de test pour la pression, les interfaces, etc. Jmeter peut également surveiller le processeur du serveur, la mémoire et d'autres paramètres de performances comme Loadrunner pour surveiller l'utilisation des ressources du serveur, mais cela nécessite l'installation de certains plug-ins. JMeter est normalement doté de la possibilité de surveiller l'utilisation des ressources de service via le fichier /manager/status de Tomcat. Dans ce cas, seule l'utilisation des ressources prise en charge par Tomcat peut être surveillée.
À travers cet article, Brother Hong explique principalement comment surveiller le processeur du serveur, la mémoire (Memory), le disque (DisKs I/O), le réseau (NetWork I/O) et d'autres ressources associées via le plug-in JMeter.
2. Téléchargez le plug-in Jmeter
Étant donné que la surveillance nécessite certains plug-ins, Brother Hong effectuera les préparatifs, téléchargera et installera les plug-ins requis.
URL du plug-in JMeter : https://jmeter-plugins.org/downloads/old/
Si vous souhaitez apprendre les tests automatisés, je vous recommande une série de vidéos. Cette vidéo peut être considérée comme le didacticiel de tests automatisés numéro un sur l'ensemble du réseau joué par Bilibili. Le nombre de personnes en ligne en même temps a atteint 1 000 , et il existe également des notes qui peuvent être collectées et communiquées par différents canaux.Maître de communication technique : 798478386
Parmi eux, JMeterPlugins-Standard et JMeterPlugins-Extras sont côté client (plug-ins Jmeter) et ServerAgent est côté serveur (placé dans le serveur).
3. Décompressez et installez
1. Décompressez les deux fichiers du client, entrez son chemin JMeterPlugins-Extras(Standard)-1.3.1\lib\ext, copiez les deux fichiers JmeterPlugins-Extras.jar (JmeterPlugins-Standard.jar), et mettez-les dans votre Installation du client JMeter Dans le dossier lib/ext du client, ouvrez JMeter, vous pouvez voir le collecteur de métriques Permon dans l'écouteur et la configuration du client est réussie. Comme indiqué ci-dessous:
2. Téléchargez ServerAgent-2.2.1.jar sur le serveur surveillé pour une utilisation ultérieure. Comme indiqué ci-dessous:
Serveur Windows :
Serveur Linux :
4. Surveillance
1. Démarrez Jmeter sur le client, puis ajoutez l'écouteur jp@gc - PerfMon Metrics Collector et ajoutez les paramètres que vous souhaitez surveiller. Comme indiqué ci-dessous:
2. Décompressez le package compressé que vous venez de copier sur le serveur pour l'utiliser, entrez dans le répertoire, l'environnement Windows, double-cliquez sur ServerAgent.bat pour démarrer ; exécutez ServerAgent.sh pour démarrer dans l'environnement Linux, en utilisant le port 4444 par défaut. Si les éléments suivants se produit, le serveur réussit. Comme indiqué ci-dessous:
Environnement Windows :
Environnement Linux :
3. Exécutez Jmeter et observez le journal du serveur, c'est-à-dire le contenu de l'icône du graphique, comme indiqué dans la figure ci-dessous :
4. Le journal côté ServerAgent est tel qu'illustré dans la figure ci-dessous :
Serveur Windows :
Serveur Linux :
5. À partir des troisième et quatrième étapes, on peut voir qu'un lien TCP a été reçu. Il n'y a pas eu de réponse et j'étais bloqué. Je me souviens que ce n'était pas comme ça quand je l'ai fait auparavant. Plus tard, j'ai vérifié Jmeter sur le client et a constaté qu'une erreur avait été signalée, comme le montre la figure ci-dessous.
6. Le message d'erreur est le suivant :
java.lang.NoSuchMethodError:org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/text/DateFormat;)V Après avoir recherché des informations, nous avons constaté que la version de Jmeter est trop élevée et ne prend pas en charge l'une des méthodes. La version de jmeter est trop élevée et la méthode setFormatter n'est plus prise en charge après la version 3.1. Cependant, le plug-in n'a pas de version supérieure, vous ne pouvez donc désinstaller que la version 5.1 et réinstaller la version 3.1. Réinstallé avec succès. Vérifiez à nouveau le journal côté ServerAgent, comme indiqué dans la figure ci-dessous :
INFO 2021-05-28 09:27:46.540 [kg.apc.p] (): Accepting new TCP connection #成功连接
INFO 2021-05-28 09:27:46.543 [kg.apc.p] (): Yep, we received the 'test' command #接收到test消息
INFO 2021-05-28 09:27:46.547 [kg.apc.p] (): Starting measures: cpu:
INFO 2021-05-28 09:27:46.801 [kg.apc.p] (): Client disconnected #断开连接
7. D'après les informations du journal ci-dessus, nous pouvons voir que lors de l'exécution de jmeter, la connexion a réussi puis s'est déconnectée immédiatement, et les données souhaitées n'ont pas été obtenues. Je suppose qu'un composant contrôlé dans le temps est nécessaire pour lui permettre d'obtenir des données sur une période de temps.
Étape i : ajoutez un groupe de threads (n'ajoutez pas de demande d'envoi), définissez le nombre de boucles sur toujours et cliquez sur Exécuter.
Résultat : Connexion réussie puis déconnexion immédiate. Toutes les configurations sont présentées dans la figure ci-dessous :
Le journal côté ServerAgent est le suivant :
INFO 2021-05-28 09:37:00.520 [kg.apc.p] (): Accepting new TCP connection
INFO 2021-05-28 09:37:00.521 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2021-05-28 09:37:00.523 [kg.apc.p] (): Starting measures: cpu:
INFO 2021-05-28 09:37:00.653 [kg.apc.p] (): Client disconnected
Configuration du client Jmeter, comme indiqué dans la figure ci-dessous :
graphique, comme indiqué ci-dessous :
ii Ajoutez un groupe de threads et définissez le nombre de boucles sur « Pour toujours » ; ajoutez n'importe quel Sampler au groupe de threads (sans définir de paramètres) ; ajoutez un écouteur PerfMon Metrics Collector ; cliquez sur Exécuter.
Résultat : Le graphique est obtenu avec succès. Cliquez sur Stop pour mettre fin aux données de surveillance. Toutes les configurations sont présentées dans la figure ci-dessous :
Le journal côté ServerAgent est le suivant :
INFO 2021-05-28 10:02:57.150 [kg.apc.p] (): Accepting new TCP connection
INFO 2021-05-28 10:02:57.152 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2021-05-28 10:02:57.154 [kg.apc.p] (): Starting measures: cpu: network i/o: disks i/o:
INFO 2021-05-28 10:03:05.465 [kg.apc.p] (): Client disconnected
Configuration du client Jmeter, comme indiqué dans la figure ci-dessous :
graphique, comme indiqué ci-dessous :
5. Résumé
1. Exécutez ServerAgent-2.2.1\bin\startAgent.bat (Linux utilise startAgent.sh) (le port par défaut est 4444, vous pouvez également spécifier les paramètres –udp-port 4445 –tcp-port 4445)
2. Brève introduction des composants communs :
① jp@gc - Débit d'octets au fil du temps :
dans le rapport global d'affichage du débit (graphique) à différents moments, le débit est affiché en fonction du nombre de requêtes, par exemple 1,9/sec, ce qui signifie 1.9 est envoyé à chaque demande ; et l'affichage ici est un graphique affiché par octets
② jp@gc - Graphique composite : graphique mixte
Combien de graphiques peuvent être configurés pour être affichés ensemble dans ses graphiques, et il peut afficher plusieurs graphiques en même temps time
③ jp@gc - Hits per Second : clics par seconde
④ jp@gc - PerfMon Metrics Collector : contrôles de surveillance des performances du serveur, y compris le processeur, la mémoire, le réseau, les E/S, etc.
⑤ jp@gc - Latences de réponse au fil du temps : Enregistrer les requêtes envoyées par le client Une fois terminé, le serveur renvoie la période de temps précédant la requête
⑥ jp@gc - Distribution des temps de réponse : Affiche la distribution des temps de réponse du test, l'axe X montre le temps de réponse regroupé par intervalles de temps, et l'axe Y contient le nombre d'échantillons dans chaque intervalle
⑦ jp@ gc - Transactions par seconde : Nombre de transactions par seconde, nombre de transactions traitées par le serveur par seconde