Je l'ai résumé car il n'y avait pas de mémorandum de dépendance et un article qui expliquait de haut en bas de manière inattendue.
Effectuez un test de charge avec JMeter. 10 accès par seconde. Cible https://hogehoge.jp/abc Avec certification de base nuxt.js, backend de communication API Laravel JMeter est réalisé sur Mac.
Installez quand même JMeter. Faites-le avec une infusion. Si vous n'avez pas d'infusion, installez l'infusion.
Pour utiliser JMeter, vous avez besoin du corps principal et de Java.
brew install jmeter
brew tap homebrew/cask-versions
brew cask install java
Au moment d'écrire ceci, la version 14 de java était installée, mais elle fonctionnait normalement.
Exécutez depuis la console.
jmeter
Cela ouvrira l'outil GUI. Utilisez cet écran pour créer un plan de test (contenu du test).
Pour le rendre japonais, sélectionnez ce qui suit dans le menu. Options > ChooseLanguage > Japanese
Faites un clic droit sur "Plan de test" dans la colonne de gauche Ajouter> Threads (utilisateurs)> Groupe de threads Sélectionnez pour créer un groupe de fils.
Ensuite, faites un clic droit sur le "groupe de threads" créé ci-dessus. Ajouter> Sampler> Requête HTTP Ajouter> Auditeur> Rapport statistique Ajouter> Auditeur> Afficher les résultats dans le tableau Ajouter> Écouteur> Enregistrer la réponse dans un fichier Ajouter> Auditeur> Affichage graphique Sélectionnez pour créer chacun.
Alors ça ressemble à ça.
Décidez combien de fois exécuter le test toutes les quelques secondes. Nombre de fils: 10 Période de montée en puissance (secondes): 1 Nombre de boucles: 1
Mettre en place. Ce qui précède signifie que 10 requêtes seront exécutées en 1 seconde.
Sélectionnez la requête HTTP dans la colonne de gauche et saisissez les informations.
Éléments de réglage | Définir la valeur |
---|---|
protocole | https |
Nom du serveur ou IP | hogehoge.jp |
Requête HTTP | GET |
chemin | /abc |
Faites un clic droit sur la requête HTTP Ajouter> Élément de configuration> Gestionnaire d'authentification HTTP Sélectionnez et créez.
Éléments de réglage | Définir la valeur |
---|---|
URL de base | https://hogehoge.jp/ |
Nom d'utilisateur | Nom d'utilisateur d'authentification de base |
mot de passe | Mot de passe d'authentification de base |
Mechanism | BASIC |
Sélectionnez ** TestPlan et appuyez sur ** Ctrl + s pour enregistrer. Après cela, ce fichier sera utilisé, alors enregistrez-le dans un emplacement pratique.
Je vais tester si cela fonctionne pour le moment. Appuyez sur le vert △ en haut de l'interface graphique pour exécuter. Après exécution, sélectionnez "Afficher les résultats dans le tableau" et si l'état est vert, cela réussit.
L'implémentation se fait avec CUI au lieu de GUI. Exécutez avec la commande suivante.
jmeter -n -t ~/src/jmeter/test_plan.jmx -l ~/src/jmeter/log.jtl
#Pour le chemin, définissez l'emplacement du fichier enregistré. Veuillez spécifier un emplacement approprié pour le journal.
Le contenu du journal est comme ça.
cat ~/src/jmeter/log.jtl
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1591777603078,21372,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-9,text,false,,347449,208,10,10,https://hogehoge.jp/abc,16242,0,238
1591777603178,21915,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-10,text,false,,353217,208,9,9,https://hogehoge.jp/abc,16151,0,220
1591777602975,24513,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-8,text,false,,358302,208,8,8,https://hogehoge.jp/abc,16689,0,211
1591777602877,25325,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-7,text,false,,346781,208,7,7,https://hogehoge.jp/abc,16539,0,175
1591777602578,29420,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-4,text,false,,623792,208,6,6,https://hogehoge.jp/abc,18709,0,308
1591777602353,30684,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-1,text,false,,623792,208,5,5,https://hogehoge.jp/abc,18968,0,533
1591777602676,30529,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-5,text,false,,623792,208,4,4,https://hogehoge.jp/abc,18419,0,210
1591777602378,30834,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-2,text,false,,623792,208,3,3,https://hogehoge.jp/abc,19032,0,508
1591777602776,30459,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-6,text,false,,623792,208,2,2,https://hogehoge.jp/abc,18681,0,168
1591777602477,30900,Requête HTTP,429,Too Many Requests,Groupe de discussion 1-3,text,false,,623792,208,1,1,https://hogehoge.jp/abc,18591,0,409
Gununu ... Cela est dû à la limite de requêtes laravel. Ajustez le nombre d'accès simultanés en nous référant aux articles ici. https://qiita.com/HorikawaTokiya/items/c04e410e4ed76d3dddc2
C'est tout. Chan Chan.
Recommended Posts