Vad är Logic Controller?
Logic Controllers låter dig definiera ordningen på bearbetningsförfrågan i en tråd. Det låter dig styra "när" för att skicka en användarförfrågan till en webbserver. Du kan till exempel använda slumpmässiga kontroller för att skicka HTTP-förfrågningar till servern slumpmässigt
Logic Controllers bestämmer i vilken ordning användarförfrågan körs.
Några vanliga Logic-kontroller är nedan:
Inspelningskontroll:
JMeter kan spela in dina teststeg; en inspelningskontroll är en platshållare för att lagra dessa inspelningssteg.
Enkel styrenhet:
Simple Controller är bara en behållare för användarförfrågan.
Loop Controller:
Loop Controller gör att användarförfrågan körs ett visst antal gånger eller körs för alltid som visas i figuren:
Slumpmässig styrenhet:
Random Controller gör att alla användarförfrågningar körs i slumpmässig ordning under varje loopperiod.
Till exempel har du tre användarförfrågningar till webbplatsen http://www.google.com i följande ordning:
- HTTP-begäran
- FTP-begäran
- JDBC-begäran
Dessa 3 förfrågningar ska köras fem gånger. Totalt 15 användarförfrågningar kommer att skickas till Google-servern av JMeter.
I sekventiell ordning skickas förfrågningar sekventiellt i följande ordning:
HTTP-begäran -> FTP-begäran-> JDBC-begäran
för varje slinga.
I slumpmässig ordning skickas förfrågningar som slumpmässigt,
FTP-begäran -> HTTP-begäran-> JDBC-begäran
Eller
JDBC-begäran -> FTP-begäran-> HTTP-begäran
För varje slinga.
Modulstyrenhet:
Målet med modulkontrollern är att lägga till modularitet till JMeter.
Den allmänna idén är att webbapplikationer består av små funktioner (t.ex. inloggning, skapa konto, avloggning ...). Denna funktionalitet kan lagras i Simple Controller som "moduler". Module Controller 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öker på www.google.com
Du kan använda JMeter för att skapa tre moduler. Varje modul simulerar varje användaraktivitet: Inloggning, Logga ut och Sök.
Modulstyrenheten väljer vilken modul som ska köras.
Andra viktiga styrenheter:
- Interleave Controller: plockar upp och gör att en av användarförfrågningar körs i varje tråd i tråden.
- Runtime Controller: styr hur länge barnen får springa.
Om du till exempel har angett Runtime Controller 10 sekunder, kör JMeter ditt test i 10 sekunder.
- Transaktionskontroll : mäter den totala tiden det tar att avsluta ett testkörning
- Include Controller: är utformad för att använda en extern testplan. Denna kontroller låter dig använda flera testplaner i JMeter. Se detaljer i JMeter Performance Testing.
Loop Controller Exempel
Det här avsnittet visar dig steg-för-steg-instruktion för att lägga till Loop Controller- uppsättning till din nuvarande prestandatestplan.
Loop Controller gör att samplarna körs ett visst antal gånger, förutom det loopvärde som du angav för trådgruppen. Till exempel om du
- Lägg till en HTTP-begäran till en loopkontroller med ett loopantal 50
- Konfigurera trådgruppens loopantal till 2
- Sedan skickar JMeter totalt 50 * 2 = 100 HTTP-begäranden.
Detta är färdplanen för detta exempel:
Steg 1) Konfigurera trådgrupp
Vi återanvänder steg 1, 2 i JMeter Performance Testing tutorial.
-
Lägg till trådgrupp
Högerklicka på testplanen 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 en användarförfrågan till webbservern google.com och köra den två gånger.
-
Lägg till JMeter-element
Lägg till HTTP-förfrågan som standard till www.google.com.
-
Lägga till loopkontroller
Högerklick trådgrupp -> Logic Controller -> Loop Controller
Steg 2) Konfigurera loopkontroller
Lägg till värde 50 i Loop Count-fältet enligt figuren nedan. Det kommer att få en användarförfrågan till webbservern google.com att köra den 50 gånger, förutom slingvärdet = 2, som du angav för trådgruppen ovan. Så JMeter skickar totalt 2 * 50 = 100 HTTP-begäranden.
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 i timer för att lägga till visningsresultat i tabell
Så testplanen visas i bilden nedan
Steg 4) Kör ditt test
Returnera nu Visa resultat i tabell, klicka på Start-knappen i menyraden (Ctrl + R) för att köra ett test
Som visas i figuren nedan simulerar JMeter 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 möter problemet när du kör ovanstående scenario ... gör följande
- Kontrollera om du ansluter till internet via en proxy. Om ja, ta bort proxyen.
- Öppna en ny instans av Jmeter
- Öppna ControllerTestPlan.jmx i Jmeter
- Klicka på trådgrupp -> Visa resultat i tabell
- Kör testet