[JAVA] Lasttest mit JMeter

Ich habe es zusammengefasst, weil es kein Memorandum über Sucht und einen Artikel gab, der unerwartet von oben nach unten erklärt wurde.

Zweck

Führen Sie einen Belastungstest mit JMeter durch. 10 Zugriffe pro Sekunde. Ziel https://hogehoge.jp/abc Mit Grundzertifizierung nuxt.js, API-Kommunikations-Backend Laravel JMeter wird auf dem Mac ausgeführt.

JMeter-Installation

Installieren Sie JMeter trotzdem. Mach es mit Gebräu. Wenn Sie kein Gebräu haben, installieren Sie Gebräu.

Um JMeter verwenden zu können, benötigen Sie den Hauptteil und Java.

brew install jmeter
brew tap homebrew/cask-versions
brew cask install java

Zum Zeitpunkt des Schreibens war Version 14 von Java installiert, aber es funktionierte normal.

Führen Sie JMeter aus

Führen Sie von der Konsole aus.

jmeter

Dadurch wird das GUI-Tool geöffnet. Verwenden Sie diesen Bildschirm, um einen Testplan (Testinhalt) zu erstellen.

スクリーンショット 2020-06-10 17.49.17.png

Lokalisierung ins Japanische

Um es japanisch zu machen, wählen Sie Folgendes aus dem Menü. Options > ChooseLanguage > Japanese

Erstellen eines Testplans

Einstellung für die linke Spalte

Klicken Sie mit der rechten Maustaste auf "Testplan" in der linken Spalte Hinzufügen> Threads (Benutzer)> Thread-Gruppe Wählen Sie diese Option, um eine Thread-Gruppe zu erstellen.

Klicken Sie anschließend mit der rechten Maustaste auf die oben erstellte "Thread-Gruppe". Hinzufügen> Sampler> HTTP-Anfrage Hinzufügen> Listener> Statistischer Bericht Hinzufügen> Listener> Ergebnisse in Tabelle anzeigen Hinzufügen> Listener> Antwort in Datei speichern Hinzufügen> Listener> Diagrammanzeige Wählen Sie diese aus, um sie zu erstellen.

Dann sieht es so aus.

スクリーンショット 2020-06-10 17.57.05.png

Thread-Gruppeneinstellungen

Entscheiden Sie, wie oft der Test alle paar Sekunden ausgeführt werden soll. Anzahl der Threads: 10 Hochlaufzeit (Sekunden): 1 Anzahl der Schleifen: 1

Einstellen. Das Obige bedeutet, dass 10 Anfragen in 1 Sekunde ausgeführt werden.

Einstellungen für HTTP-Anforderungen

Wählen Sie die HTTP-Anforderung in der linken Spalte aus und geben Sie die Informationen ein.

Elemente einstellen Wert einstellen
Protokoll https
Servername oder IP hogehoge.jp
HTTP-Anfrage GET
Pfad /abc

Wenn Sie eine Grundzertifizierung haben

Klicken Sie mit der rechten Maustaste auf HTTP-Anfrage Hinzufügen> Konfigurationselement> HTTP-Authentifizierungs-Manager Auswählen und erstellen.

Elemente einstellen Wert einstellen
Basis-URL https://hogehoge.jp/
Nutzername Benutzername für die Standardauthentifizierung
Passwort Grundlegendes Authentifizierungskennwort
Mechanism BASIC
スクリーンショット 2020-06-10 18.01.49.png

sparen

Wählen Sie ** TestPlan und drücken Sie ** Strg + s zum Speichern. Danach wird diese Datei verwendet. Speichern Sie sie daher an einem geeigneten Ort.

Prüfung

Ich werde testen, ob es vorerst funktioniert. Drücken Sie zum Ausführen das grüne △ oben auf der GUI. Wählen Sie nach der Ausführung "Ergebnisse in Tabelle anzeigen" und wenn der Status grün ist, ist er erfolgreich.

スクリーンショット 2020-06-10 18.17.04.png

JMeter-Implementierung

Die Implementierung erfolgt mit CUI anstelle von GUI. Mit dem folgenden Befehl ausführen.

jmeter -n -t ~/src/jmeter/test_plan.jmx -l ~/src/jmeter/log.jtl
#Legen Sie für den Pfad den Speicherort der gespeicherten Datei fest. Bitte geben Sie einen geeigneten Speicherort für das Protokoll an.

Überprüfen Sie das Protokoll

Der Inhalt des Protokolls ist wie folgt.

cat ~/src/jmeter/log.jtl
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1591777603078,21372,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-9,text,false,,347449,208,10,10,https://hogehoge.jp/abc,16242,0,238
1591777603178,21915,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-10,text,false,,353217,208,9,9,https://hogehoge.jp/abc,16151,0,220
1591777602975,24513,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-8,text,false,,358302,208,8,8,https://hogehoge.jp/abc,16689,0,211
1591777602877,25325,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-7,text,false,,346781,208,7,7,https://hogehoge.jp/abc,16539,0,175
1591777602578,29420,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-4,text,false,,623792,208,6,6,https://hogehoge.jp/abc,18709,0,308
1591777602353,30684,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-1,text,false,,623792,208,5,5,https://hogehoge.jp/abc,18968,0,533
1591777602676,30529,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-5,text,false,,623792,208,4,4,https://hogehoge.jp/abc,18419,0,210
1591777602378,30834,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-2,text,false,,623792,208,3,3,https://hogehoge.jp/abc,19032,0,508
1591777602776,30459,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-6,text,false,,623792,208,2,2,https://hogehoge.jp/abc,18681,0,168
1591777602477,30900,HTTP-Anfrage,429,Too Many Requests,Fadengruppe 1-3,text,false,,623792,208,1,1,https://hogehoge.jp/abc,18591,0,409

Gununu ... Dies liegt an der Laravel-Anforderungsgrenze. Passen wir die Anzahl der gleichzeitigen Zugriffe an, indem wir uns auf die Artikel hier beziehen. https://qiita.com/HorikawaTokiya/items/c04e410e4ed76d3dddc2

Das ist es. Chan-Chan.

Recommended Posts

Lasttest mit JMeter
Integrationstest mit Gradle
[Schienen] Test mit RSpec
Testen Sie Nokogiri mit Rspec.
Automatisch mit Messgerät testen
Machen Sie einen Unit-Test mit Junit.
Testen Sie die Web-API mit junit
Testen Sie Active Strage mit RSpec
Testen Sie den GraphQL-Resolver mit rspec
Prüfung
REST-API-Test mit REST Assured Part 2
Prüfung
Ausgabe Testabdeckung mit Klee + Gradle
Laden Sie große Dateien mit Apache JMeter herunter
Prüfung
Prüfung
[Java] Testen Sie private Methoden mit JUnit
Kopieren Sie den Test und fügen Sie ihn mit RSpec ein
Einschlussbeziehungen der Testliste zu AssertJ
Testen Sie den Spring Framework Controller mit Junit
[Schienen] Machen wir einen Unit-Test mit Rspec!
Stellen Sie die Zugriffslast ein, die mit JMeter grafisch geändert werden kann (Teil 1).
MASCHINE testet lineare Regression mit mehreren Variablen
Mit EqualsVerifier wurde der equals () -Test sofort abgeschlossen
[Ruby on Rails] Test mit RSpec anzeigen
Steuern Sie die Testreihenfolge in Junit4 mit einem Aufzählungstyp
Java EE Test (CDI / Interceptor) mit Arquillian
[Ruby on Rails] Controller-Test mit RSpec
[Ruby on Rails] Modelltest mit RSpec
So testen Sie den privaten Bereich mit JUnit
Der JUnit 5-Gradle-Test führt zu einem Fehler mit der Lombok-Annotation
Einführung eines automatisierten Java-Tests mit JUnit 5 + Gradle
Formularklassenvalidierungstest mit Spring Boot