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: