Kontrollere i JMeterLoop, logikk, transaksjon

โšก Smart oppsummering

Logikkkontrollere i JMeter bestemme rekkefรธlgen brukerforespรธrsler kjรธres i i en trรฅd, med kontrollere som Loop, Random, Simple, Module og Recording shaping hvordan en ytelsestestplan sender forespรธrsler til serveren.

  • ๐ŸŽ›๏ธ Logikkkontrollere: Kontrollere angir rekkefรธlgen forespรธrsler kjรธres i en trรฅd.
  • ๐Ÿ” Slรธyfekontroller: Kjรธrer en sampler et angitt antall ganger i trรฅdlรธkken.
  • ๐ŸŽฒ Tilfeldig kontroller: Kjรธrer underforespรธrslene i tilfeldig rekkefรธlge i hver lรธkke.
  • ๐Ÿงฉ Modulkontroller: Legger til modularitet ved รฅ velge hvilken modul som kjรธrer.
  • โบ๏ธ Opptakskontroller: Lagrer registrerte testtrinn som en plassholder.
  • ๐Ÿค– AI-hjelp: AI hjelper med รฅ designe og analysere JMeter planer for ytelsestest.

Kontrollere i JMeter

Hva er den logiske kontrolleren?

Logic Controllers lar deg definere rekkefรธlgen pรฅ behandlingsforespรธrselen i en trรฅd. Den lar deg kontrollere "nรฅr" du vil sende en brukerforespรธrsel til en webserver. Du kan for eksempel bruke tilfeldige kontroller til รฅ sende HTTP-forespรธrsler til serveren tilfeldig

Logikkkontrollere bestemmer rekkefรธlgen der brukerforespรธrselen utfรธres.

Noen ofte brukte Logic-kontrollere er nedenfor:

Den logiske kontrolleren

Opptakskontroll

JMeter kan rekord din Testing trinn; en opptakskontroller er en placeholder for รฅ lagre disse opptakstrinnene.

Opptakskontroll

Enkel kontroller

Enkel kontroller er bare en container for brukerforespรธrsel.

Enkel kontroller

Slรธyfekontroller

Loop Controller fรฅr brukerforespรธrselen til รฅ kjรธre et spesifisert antall ganger eller lรธp for alltid som vist pรฅ figuren:

Slรธyfekontroller

Tilfeldig kontroller

Random Controller fรฅr alle brukerforespรธrslene til รฅ kjรธre inn det tilfeldige rekkefรธlge i hver slรธyfeperiode.

For eksempel har du 3 brukerforespรธrsler til nettstedet http://www.google.com i fรธlgende rekkefรธlge:

  1. HTTP-forespรธrsel
  2. FTP-forespรธrsel
  3. JDBC-forespรธrsel

Disse 3 forespรธrslene skal kjรธres 5 ganger. Totalt 15 brukerforespรธrsler vil bli sendt til Google server av JMeter.

In sekvensiell bestilling sendes forespรธrsler sekvensielt i fรธlgende rekkefรธlge:

HTTP-forespรธrsel ->FTP-forespรธrsel->JDBC-forespรธrsel

for hver lรธkke.

Tilfeldig kontroller

In tilfeldig bestilling sendes forespรธrsler som tilfeldig,

FTP-forespรธrsel ->HTTP-forespรธrsel->JDBC-forespรธrsel

Or

JDBC-forespรธrsel ->FTP-forespรธrsel->HTTP-forespรธrsel

For hver lรธkke.

Modulkontroller

Mรฅlet med Module Controller er รฅ legge til modularitet til JMeter.

Den generelle ideen er at webapplikasjoner bestรฅr av smรฅ funksjonalitetsenheter (f.eks. pรฅlogging, opprett konto, avloggingโ€ฆ). Denne funksjonaliteten kan lagres i Simple Controller som ยซmodulerยป. Modulkontrolleren vil velge hvilken modul som skal kjรธres.

Modulkontroller

Tenk pรฅ fรธlgende scenario -

Du รธnsker รฅ simulere:

  • 50 brukere logger ut,
  • 100 brukere logger inn
  • 30 brukere Sรธk www.google.com

Du kan bruke JMeter รฅ lage 3 moduler. Hver modul simulerer hver brukeraktivitet: Logg inn, Logg ut og Sรธk.

Modulkontroller

Modulkontrolleren velger hvilken modul som skal kjรธres.

Modulkontroller

Andre viktige kontroller

  • Interleave Kontroller: tar opp og lager en av brukerforespรธrsel kjรธrt inn hver enkelt lรธkke av trรฅden.
  • Runtime Kontroller: kontroller hvor lenge dens barn fรฅr lov til รฅ lรธpe.

Hvis du for eksempel spesifiserte Runtime Controller 10 sekunder, JMeter vil kjรธre testen i 10 sekunder.

Andre viktige kontroller

  • transaksjon Kontroller: mรฅler samlet tid Tatt med til ferdig en testkjรธring
  • inkluderer Kontroller: er designet for รฅ bruke en ekstern testplan. Denne kontrolleren lar deg bruke flere testplaner i JMeter. Se detalj i JMeter Ytelsestesting.

Eksempel pรฅ slรธyfekontroller

Denne delen viser deg trinnvise instruksjoner for รฅ legge til Slรธyfekontroller satt til din nรฅvรฆrende ytelsestestplan.

Slรธyfekontrolleren fรฅr samplerne til รฅ kjรธre som et visst antall ganger, i tillegg til lรธkkeverdien du spesifiserte for trรฅdgruppen. For eksempel hvis du

  • Legg til รฉn HTTP-forespรธrsel til en slรธyfekontroller med slรธyfeantallet 50
  • Konfigurer lรธkketellingen for trรฅdgruppe til 2
  • Deretter, JMeter vil sende totalt 50 * 2 = 100 HTTP-forespรธrsler.

Dette er veikart av dette eksemplet:

Eksempel pรฅ slรธyfekontroller

Trinn 1) Konfigurere trรฅdgruppe

We gjenbruk trinn 1, 2 i opplรฆringen JMeter Ytelsestesting.

  1. Legg til trรฅdgruppe

Hรธyreklikk pรฅ Testplan og legg til en ny trรฅdgruppe: Legg til-> Trรฅder (brukere) ->Gjengegruppe

Men i Thread Group-kontrollpanelet, skriv inn Thread Properties som fรธlger:

Legg til trรฅdgruppe

Det vil gjรธre en brukerforespรธrsel til nettserveren google.com og kjรธr den 2 ganger.

  1. Legg til JMeter elementer

Legg til standard HTTP-forespรธrsel pรฅ www.google.com.

  1. Legger til slรธyfekontroller

Hรธyreklikk trรฅdgruppe -> Logisk kontroller -> slรธyfekontroller

Legger til slรธyfekontroller

Trinn 2) Konfigurere slรธyfekontrolleren

Legg til verdi 50 til Loop Count-feltet som figuren nedenfor. Det vil gjรธre en brukerforespรธrsel til webserveren google.com kjรธr den 50 ganger, i tillegg til lรธkkeverdien =2, spesifiserte du for trรฅdgruppen ovenfor. Altsรฅ JMeter vil sende totalt 2 * 50 = 100 HTTP-forespรธrsler.

Konfigurering av slรธyfekontroller

Hรธyreklikk Loop Controller, Legg til -> Sampler -> HTTP-forespรธrsel

Konfigurering av slรธyfekontroller

Trinn 3) Legg til visningsresultater i tabell

Vi gjenbruker trinn 2 i Tidstaker for รฅ legge til Vis resultater i tabell

Sรฅ testplanen er vist i figuren nedenfor

Legg til visningsresultater i tabell

Trinn 4) Kjรธr testen

Gรฅ tilbake til Vis resultater i tabell, klikk pรฅ Start-knappen pรฅ menylinjen (Ctrl+R) for รฅ kjรธre en test

Som vist i figuren nedenfor, JMeter Simulerer รฉn brukerforespรธrsel, som sendes 100 ganger, til webserveren http://www.google.com/. Testen stoppes etter at en brukerforespรธrsel ble sendt inn 100 ganger.

Kjรธr testen

Feilsรธking

  1. Hvis du mรธter problemet mens du kjรธrer scenariet ovenfor ... gjรธr fรธlgende
  2. Sjekk om du kobler til internett via en proxy. Hvis ja, fjern proxyen.
  3. ร…pne en ny forekomst av Jmeter
  4. ร…pne ControllerTestPlan.jmx i Jmeter
  5. Klikk pรฅ Trรฅdgruppe -> Vis resultat i tabell
  6. Kjรธr testen

Spรธrsmรฅl og svar

En sampler sender en faktisk forespรธrsel til serveren, for eksempel en HTTP- eller JDBC-forespรธrsel. En logisk kontroller sender ikke forespรธrsler selv; den kontrollerer rekkefรธlgen og betingelsene som dens underordnede samplere kjรธrer under i en trรฅd.

Transaksjonskontrolleren mรฅler den totale tiden det tar รฅ fullfรธre en gruppe samplere som รฉn enkelt transaksjon. Den er nyttig for รฅ tidsbestemme en flertrinns forretningsprosess, for eksempel innlogging og sรธk, i stedet for hver forespรธrsel separat.

De multipliserer seg. Hvis en Loop Controller er satt til 50 og Thread Group-lรธkkeantallet er 2, kjรธres hver sampler inne i kontrolleren 50 ganger per iterasjon, totalt 50 ganger 2, som er 100 forespรธrsler.

Ja. AI kan foreslรฅ realistiske arbeidsbelastningsmodeller, generere testdata og analysere resultatgrafer for รฅ flagge flaskehalser. Maskinlรฆring oppdager ytelsesavvik og forutsier kapasitet, hjelpping ingeniรธrer designer og tolker JMeter tester raskere.

AI modellerer forventede belastningsmรธnstre, justerer testparametere automatisk og analyserer mรฅlinger for รฅ oppdage regresjoner og underliggende รฅrsaker. Disse intelligente funksjonene gjรธr ytelsestesting mer prediktiv og gir rรฅ resultater. JMeter resultater til handlingsrettet kapasitetsinnsikt.

Oppsummer dette innlegget med: