Styrenheter i JMeter: Slinga, Enkel, Transaktion, Modul, Slumpmässig
Vad är den logiska styrenheten?
Logic Controllers låter dig definiera ordningen för bearbetning av begäran i en tråd. Det låter dig styra "när" du vill skicka en användarförfrågan till en webbserver. Till exempel kan du använda Random Controllers för att skicka HTTP-förfrågningar till servern slumpmässigt
Logikkontroller bestämmer ordningen där användarförfrågan exekveras.
Några vanliga logiska kontroller är nedan:
Inspelningskontroll
JMeter Kan post ditt Testning steg; en inspelningskontroller är en platshållare för att lagra dessa inspelningssteg.
Enkel kontroll
Simple Controller är bara en behållare för användarens begäran.
Loop Controller
Loop Controller gör att användarförfrågan körs ett visst antal gånger eller springa alltid som visas i figuren:
Random Controller
Random Controller gör att alla användarförfrågningar körs in det slumpmässiga ordning i varje loopperiod.
Till exempel har du 3 användarförfrågningar till webbplatsen http://www.google.com i följande ordning:
- HTTP-begäran
- FTP-begäran
- JDBC-förfrågan
Dessa 3 förfrågningar bör köras 5 gånger. Totalt 15 användarförfrågningar kommer att skickas till Googles server av JMeter.
In sekventiell beställning skickas förfrågningar sekventiellt i följande ordning:
HTTP-begäran ->FTP-begäran->JDBC-begäran
för varje slinga.
In slumpmässig beställning, förfrågningar skickas som slumpvis,
FTP-begäran ->HTTP-begäran->JDBC-begäran
Or
JDBC-begäran ->FTP-begäran->HTTP-begäran
För varje slinga.
Modulstyrenhet
Målet med Module Controller är att lägga till modularitet till JMeter.
Den allmänna idén är att webbapplikationer består av små enheter av funktionalitet (t.ex. Logga in, Skapa konto, Logga ut...). Denna funktion kan lagras i Enkel kontroll som "moduler". Modulstyrenheten väljer vilken modul som ska köras.
Tänk på följande scenario -
Du vill simulera:
- 50 användare loggar ut,
- 100 användare loggar in
- 30 användare Sök www.google.com
Du kan använda JMeter att skapa 3 moduler. Varje modul simulerar varje användaraktivitet: Logga in, Logga ut och Sök.
Modulstyrenheten väljer vilken modul som ska köras.
Andra viktiga styrenheter
- Interfoliera Controller: plockar upp och gör ett användarförfrågan körs in varje öglan av tråden.
- Runtime Styrenhet: kontroller hur länge dess barn får springa.
Om du till exempel angav Runtime Controller 10 sekunder, JMeter kommer att köra ditt test i 10 sekunder.
- transaktion Styrenhet: mäter total tid tagen till slut en testkörning
- Omfatta Styrenhet: är utformad för att använda en extern testplan. Denna styrenhet låter dig använda flera testplaner i JMeter. Se detalj i JMeter Prestandatester.
Exempel på loopkontroller
Det här avsnittet visar dig steg-för-steg-instruktioner för att lägga till Loop Controller ställ in till din nuvarande prestationstestplan.
Loop Controller gör att samplern körs ett visst antal gånger, utöver det loopvärde du angav för trådgruppen. Till exempel om du
- Lägg till en HTTP-förfrågan till en loopkontroller med ett loopantal 50
- Konfigurera slingantalet för trådgrupp till 2
- Därefter, JMeter kommer att skicka totalt 50 * 2 = 100 HTTP-förfrågningar.
Detta är den färdplan av detta exempel:
Steg 1) Konfigurera trådgrupp
We återanvändning steg 1, 2 i handledningen JMeter Prestandatester.
-
Lägg till trådgrupp
Högerklicka på Testplan och lägg till en ny trådgrupp: Lägg till-> Trådar (användare) ->Trådgrupp
Men i Trådgruppens kontrollpanel anger du Trådegenskaper enligt följande:
Det kommer att göra ett användarförfrågan till webbservern google.com och kör den 2 gånger.
-
Lägg till JMeter element
Lägg till standard för HTTP-begäran på www.google.com.
-
Lägger till Loop Controller
Högerklicka på trådgrupp -> Logic Controller -> Loop Controller
Steg 2) Konfigurera Loop Controller
Lägg till värde 50 till Loop Count-fältet enligt bilden nedan. Det kommer att göra ett användarförfrågan till webbservern google.com kör det 50 gånger, förutom loopvärdet =2, du angav för trådgruppen ovan. Så JMeter kommer att skicka totalt 2 * 50 = 100 HTTP-förfrågningar.
Högerklicka på Loop Controller, Lägg till -> Sampler -> HTTP-begäran
Steg 3) Lägg till vyresultat i tabell
Vi återanvänder steg 2 in timer för att lägga till Visa resultat i tabell
Så testplanen visas i bilden nedan
Steg 4) Kör ditt test
Återgå nu Visa resultat i tabell, klicka på Start-knappen på menyraden (Ctrl+R) för att köra ett test
Som visas i figuren nedan, JMeter simulerar en användarförfrågan, som skickas 100 gånger, till webbservern http://www.google.com/. Testet stoppas efter att en användarförfrågan har skickats in 100 gånger.
Felsökning
- Om du stöter på problemet när du kör scenariot ovan ... gör följande
- Kontrollera om du ansluter till internet via en proxy. Om ja, ta bort proxyn.
- Öppna en ny instans av Jmeter
- Öppna ControllerTestPlan.jmx i Jmeter
- Klicka på Trådgrupp -> Visa resultat i tabell
- Kör testet