Controleurs binnen JMeterLus, logica, transactie

โšก Slimme samenvatting

Logische controllers in JMeter Bepaal de volgorde waarin gebruikersverzoeken binnen een thread worden uitgevoerd, met controllers zoals Loop, Random, Simple, Module en Recording.ping Hoe een prestatietestplan verzoeken naar de server verzendt.

  • ๏ธ Logische controllers: Controllers bepalen de volgorde waarin verzoeken in een thread worden uitgevoerd.
  • ๐Ÿ” Luscontroller: Voert een sampler een vast aantal keren uit binnen de threadlus.
  • ๐ŸŽฒ Willekeurige controller: Voert de onderliggende verzoeken in willekeurige volgorde uit tijdens elke lus.
  • ๐Ÿงฉ Modulecontroller: Voegt modulariteit toe door te selecteren welke module moet worden uitgevoerd.
  • ๏ธ Opnamecontroller: De winkels hebben de teststappen als tijdelijke aanduiding vastgelegd.
  • ๐Ÿค– AI-assistentie: AI helpt bij het ontwerpen en analyseren. JMeter prestatietestplannen.

Controleurs binnen JMeter

Wat is de logische controller?

Met logische controllers kunt u de volgorde van verwerkingsverzoeken in een thread definiรซren. Hiermee kunt u bepalen โ€œwanneerโ€ een gebruikersverzoek naar een webserver moet worden verzonden. U kunt bijvoorbeeld Random Controllers gebruiken om HTTP-verzoeken willekeurig naar de server te verzenden

Logische controllers bepalen de orde waarin het gebruikersverzoek wordt uitgevoerd.

Enkele veelgebruikte logische controllers vindt u hieronder:

De logische controller

Opnamecontroller

JMeter blikje record jouw Testen stappen; een opnamecontroller is een placeholder om deze opnamestappen op te slaan.

Opnamecontroller

Eenvoudige controller

Eenvoudige controller is slechts een houder voor gebruikersverzoek.

Eenvoudige controller

Loop-controller

Loop Controller zorgt ervoor dat het gebruikersverzoek wordt uitgevoerd een bepaald aantal keren of rennen altijd zoals te zien in figuur:

Loop-controller

Willekeurige controller

Random Controller zorgt ervoor dat alle gebruikersverzoeken worden uitgevoerd het willekeurige volgorde in elke lusperiode.

U heeft bijvoorbeeld drie gebruikersverzoeken voor de website http://www.google.com in de volgende volgorde:

  1. HTTP-verzoek
  2. FTP-verzoek
  3. JDBC-verzoek

Deze 3 verzoeken moeten 5 keer worden uitgevoerd. In totaal worden er 15 gebruikersverzoeken verzonden. Google server door JMeter.

In sequentiรซle bestelling, verzoeken worden verzonden opeenvolgend in de volgende volgorde:

HTTP-verzoek -> FTP-verzoek -> JDBC-verzoek

voor elke lus.

Willekeurige controller

In willekeurige bestelling, verzoeken worden verzonden als willekeurig,

FTP-verzoek -> HTTP-verzoek -> JDBC-verzoek

Or

JDBC-verzoek ->FTP-verzoek->HTTP-verzoek

Voor elke lus.

Modulecontroller

Het doel van Module Controller is om modulariteit toe te voegen JMeter.

Het algemene idee is dat webapplicaties bestaan โ€‹โ€‹uit kleine functionele eenheden (bijv. Inloggen, Account aanmaken, Uitloggen, enz.). Deze functionaliteit kan in een Simple Controller worden opgeslagen als "modules". De Module Controller bepaalt welke module moet worden uitgevoerd.

Modulecontroller

Overweeg het volgende scenario -

U wilt simuleren:

  • 50 gebruikers uitloggen,
  • 100 gebruikers Inloggen
  • 30 gebruikers search www.google.com

Je kunt gebruiken JMeter om 3 modules te maken. Elke module simuleert elke gebruikersactiviteit: Inloggen, Uitloggen en Zoeken.

Modulecontroller

De Modulecontroller kiest welke module moet draaien.

Modulecontroller

Andere belangrijke controllers

  • Tussenblad Controller: pakt op en maakt een van het binnengekomen gebruikersverzoek elk lus van de draad.
  • Runtime Controlemechanisme: controles hoe lang zijn kinderen mogen rennen.

Als u bijvoorbeeld Runtime Controller 10 seconden hebt opgegeven, JMeter voert uw test gedurende 10 seconden uit.

Andere belangrijke controllers

  • transactie Controller: meet de totale tijd meegenomen naar afmaken een proefuitvoering
  • omvatten Controller: is ontworpen om een โ€‹โ€‹extern testplan te gebruiken. Met deze controller kunt u meerdere testplannen gebruiken JMeter. Zie details in JMeter Performance Testing.

Voorbeeld van luscontroller

In dit gedeelte vindt u stapsgewijze instructies voor het toevoegen Loop-controller ingesteld op uw huidige prestatietestplan.

De Loop Controller zorgt ervoor dat de samplers een bepaald aantal keren worden uitgevoerd, naast de loopwaarde die u voor de Thread Group hebt opgegeven. Als u bijvoorbeeld

  • Voeg รฉรฉn HTTP-verzoek toe aan een luscontroller met een lustelling van 50
  • Configureer het aantal Thread Group-lussen op 2
  • Vervolgens JMeter verzendt in totaal 50 * 2 = 100 HTTP-verzoeken.

Dit is de roadmap van dit voorbeeld:

Voorbeeld van luscontroller

Stap 1) Threadgroep configureren

We hergebruik de stap 1, 2 in de tutorial JMeter Performance Testing.

  1. Discussiegroep toevoegen

Klik met de rechtermuisknop op de Testplan en voeg een nieuwe threadgroep toe: Toevoegen-> Onderwerpen (gebruikers) ->Discussiegroep

Maar voer in het Thread Group-configuratiescherm Thread Properties als volgt in:

Discussiegroep toevoegen

Het zal maken een gebruikersverzoek aan de webserver google.com en voer het uit 2 tijden.

  1. Toevoegen JMeter geeft je de mogelijkheid

Voeg standaard HTTP-verzoek toe aan www.google.com.

  1. Loopcontroller toevoegen

Klik met de rechtermuisknop op Thread Group -> Logische controller -> Luscontroller

Loopcontroller toevoegen

Stap 2) Luscontroller configureren

Voeg waarde 50 toe aan het veld Aantal lussen, zoals onderstaande afbeelding. Het zal maken een gebruikersverzoek aan de webserver google.com voer het uit 50 keer, naast de luswaarde =2, die u hierboven hebt opgegeven voor de Thread Group.So JMeter zal in totaal sturen 2 * 50 = 100 HTTP-verzoeken.

Luscontroller configureren

Klik met de rechtermuisknop op Loop Controller, Toevoegen -> Sampler -> HTTP-verzoek

Luscontroller configureren

Stap 3) Voeg weergaveresultaten toe aan de tabel

We hergebruiken stap 2 in Uren om Resultaten weergeven in tabel toe te voegen

Het testplan wordt dus weergegeven in onderstaande afbeelding

Voeg weergaveresultaten in tabel toe

Stap 4) Voer uw test uit

Ga nu terug naar Bekijk resultaten in tabel en klik op de knop Start op de menubalk (Ctrl+R) om een โ€‹โ€‹test uit te voeren

Zoals weergegeven in de onderstaande afbeelding, JMeter simuleert รฉรฉn gebruikersverzoek, die 100 keer naar de webserver wordt verzonden http://www.google.com/. De test wordt gestopt nadat er 100 keer een gebruikersverzoek is verzonden.

Voer de test uit

Problemen oplossen

  1. Als u dit probleem ondervindt tijdens het uitvoeren van het bovenstaande scenario, doe dan het volgende
  2. Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
  3. Open een nieuw exemplaar van Jmeter
  4. Open de ControllerTestPlan.jmx in Jmeter
  5. Klik op Discussiegroep -> Resultaat in tabel bekijken
  6. Voer de test uit

Veelgestelde vragen

Een sampler verstuurt een daadwerkelijk verzoek naar de server, zoals een HTTP- of JDBC-verzoek. Een logic controller verstuurt zelf geen verzoeken; deze bepaalt de volgorde en de voorwaarden waaronder de onderliggende samplers binnen een thread worden uitgevoerd.

De transactiecontroller meet de totale tijd die nodig is om een โ€‹โ€‹groep samples als รฉรฉn transactie te voltooien. Dit is handig voor het timen van een bedrijfsproces met meerdere stappen, zoals inloggen gevolgd door zoeken, in plaats van elke aanvraag afzonderlijk te meten.

Ze vermenigvuldigen zich. Als een Loop Controller is ingesteld op 50 en het aantal herhalingen van de Thread Group 2 is, wordt elke sampler binnen de controller 50 keer per iteratie uitgevoerd, voor een totaal van 50 keer 2, oftewel 100 verzoeken.

Ja. AI kan realistische workloadmodellen voorstellen, testdata genereren en resultaatgrafieken analyseren om knelpunten te signaleren. Machine learning detecteert prestatieafwijkingen en voorspelt capaciteit, wat kan helpenping Ingenieurs ontwerpen en interpreteren JMeter Tests verlopen sneller.

AI-modellen voorspellen verwachte belastingpatronen, stemmen testparameters automatisch af en analyseren statistieken om regressies en onderliggende oorzaken te detecteren. Deze intelligente functies maken prestatietesten voorspellender, waardoor ruwe data beter bruikbaar wordt. JMeter Dit vertaalt zich in bruikbare inzichten over capaciteit.

Vat dit bericht samen met: