Styrenheter i JMeterLoop, logik, transaktion

⚡ Smart sammanfattning

Logikstyrenheter i JMeter bestämma i vilken ordning användarförfrågningar körs inom en tråd, med kontroller som Loop, Random, Simple, Module och Recording shaping hur en prestandatestplan skickar förfrågningar till servern.

  • 🎛️ Logikstyrenheter: Kontroller anger i vilken ordning förfrågningar körs i en tråd.
  • 🔁 Loopkontroller: Kör en samplare ett visst antal gånger inom trådslingan.
  • 🎲 Slumpmässig kontroller: Kör underordnade förfrågningar i slumpmässig ordning varje loop.
  • 🧩 Modulstyrenhet: Lägger till modularitet genom att välja vilken modul som körs.
  • ⏺️ Inspelningskontrollant: Lagrar inspelade teststeg som en platshållare.
  • 🤖 AI-hjälp: AI hjälper till att designa och analysera JMeter planer för prestandatest.

Styrenheter i JMeter

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:

Den logiska styrenheten

Inspelningskontroll

JMeter Kan post ditt Testning steg; en inspelningskontroller är en platshållare för att lagra dessa inspelningssteg.

Inspelningskontroll

Enkel kontroll

Simple Controller är bara en behållare för användarens begäran.

Enkel kontroll

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:

Loop Controller

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:

  1. HTTP-begäran
  2. FTP-begäran
  3. 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 Google 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.

Random Controller

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 med funktioner (t.ex. inloggning, skapa konto, utloggning...). Denna funktionalitet kan lagras i Simple Controller som "moduler". Modulkontrollanten väljer vilken modul som behöver köras.

Modulstyrenhet

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.

Modulstyrenhet

Modulstyrenheten väljer vilken modul som ska köras.

Modulstyrenhet

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.

Andra viktiga styrenheter

  • 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:

Exempel på loopkontroller

Steg 1) Konfigurera trådgrupp

We återanvändning steg 1, 2 i handledningen JMeter Prestandatester.

  1. 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:

Lägg till trådgrupp

Det kommer att göra ett användarförfrågan till webbservern google.com och kör den 2 gånger.

  1. Lägg till JMeter element

Lägg till standard för HTTP-begäran på www.google.com.

  1. Lägger till Loop Controller

Högerklicka på trådgrupp -> Logic Controller -> Loop Controller

Lägger till 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.

Konfigurera Loop Controller

Högerklicka på Loop Controller, Lägg till -> Sampler -> HTTP-begäran

Konfigurera Loop Controller

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

Lägg till vyresultat i tabell

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.

Kör testet

Felsökning

  1. Om du stöter på problemet när du kör scenariot ovan ... gör följande
  2. Kontrollera om du ansluter till internet via en proxy. Om ja, ta bort proxyn.
  3. Öppna en ny instans av Jmeter
  4. Öppna ControllerTestPlan.jmx i Jmeter
  5. Klicka på Trådgrupp -> Visa resultat i tabell
  6. Kör testet

Vanliga frågor

En sampler skickar en faktisk begäran till servern, till exempel en HTTP- eller JDBC-begäran. En logikstyrenhet skickar inte begäranden själv; den styr ordningen och villkoren under vilka dess underordnade samplers körs inom en tråd.

Transaktionskontrollanten mäter den totala tiden det tar att slutföra en grupp samplare som en enda transaktion. Den är användbar för att tidsbestämma en flerstegsprocess, till exempel inloggning och sökning, snarare än varje begäran separat.

De multipliceras. Om en Loop Controller är inställd på 50 och Thread Group-loopantalet är 2, körs varje sampler inuti kontrollenheten 50 gånger per iteration, totalt 50 gånger 2, vilket är 100 förfrågningar.

Ja. AI kan föreslå realistiska arbetsbelastningsmodeller, generera testdata och analysera resultatdiagram för att flagga flaskhalsar. Maskininlärning upptäcker prestandaavvikelser och förutsäger kapacitet, hjälpping ingenjörer designar och tolkar JMeter tester snabbare.

AI modellerar förväntade belastningsmönster, justerar testparametrar automatiskt och analyserar mätvärden för att upptäcka regressioner och grundorsaker. Dessa intelligenta funktioner gör prestandatestning mer prediktiv och ger råa resultat. JMeter resulterar i handlingsbara kapacitetsinsikter.

Sammanfatta detta inlägg med: