JMeter Elementit ja komponentit: Säikeiden ryhmä, Samplerit

⚡ Älykäs yhteenveto

JMeter elementit ovat jokaisen testisuunnitelman rakennuspalikoita: säieryhmät luovat virtuaalisia käyttäjiä, näytteenottajat lähettävät pyynnöt, kuuntelijat näyttävät tulokset ja määrityselementit toimittavat pyyntöjen tarvitsemat oletusarvot ja tiedot.

  • 🔘 Säikeiden ryhmä: Jokainen säie edustaa yhtä virtuaalista käyttäjää, joka ajaa testattavaa sovellusta.
  • ☑️ Näytteet: Päätä pyynnön protokolla — FTP, HTTP, JDBC, SMTP ja paljon muuta.
  • ✅ Kuuntelijat: Hahmottele tulokset kaaviona, puuna, taulukkona tai lokitiedostona.
  • 🧪 Konfiguraatioelementit: Aseta oletusarvot ja muuttujat, joita otoskäyttäjät käyttävät uudelleen koko testissä.
  • 🛠️ Datapohjaiset suoritukset: CSV-tietojoukon määritys syöttää eri tunnistetiedot jokaiselle simuloidulle käyttäjälle.
  • ⚡ Nykyaikaiset vastineet: BSF Sampler on poistettu käytöstä; nykyiset julkaisut sisältävät komentosarjan JSR223:n ja Groovy.

JMeter Elementit: Säikeiden ryhmä, näytteenottajat, kuuntelijat ja konfiguraatioelementit

Mitä elementti sisältää JMeter?

Eri komponentit JMeter niitä kutsutaan elementeiksi. Jokainen elementti on suunniteltu tiettyyn tarkoitukseen.

Alla olevassa kuvassa on joitain yleisiä elementtejä JMeter ja näyttää, miten ne sijaitsevat ketjuryhmän alla.

JMeter elementtihierarkiakaavio, jossa on yllä oleva säieryhmä: Samplerit, logiikkaohjaimet, kuuntelijat, konfiguraatioelementit, väitteet, ajastimet ja prosessorit

Kaikkien osien opiskelu kerralla voi johtaa hämmennykseen ja tylsistymiseen. Tässä käsittelemme pakollisia osia, jotka on hyvä tietää ennen kuin voit aloittaa. testaus in JMeter.

Jäljellä olevista komponenteista keskustellaan sitä mukaa, kun niitä käytetään seuraavissa opetusohjelmissa. Tässä opetusohjelmassa käsitellyt elementit on lueteltu alla.

Viestiryhmä

Säikeiden ryhmä on kokoelma säikeitä. Jokainen säie edustaa yhtä testattavaa sovellusta käyttävää käyttäjää. Pohjimmiltaan jokainen säie simuloi yhtä todellista käyttäjän pyyntöä palvelimelle.

Säikeiden ryhmän säätimien avulla voit asettaa kunkin ryhmän säikeiden määrän.

Jos esimerkiksi asetat säikeiden määräksi 100, JMeter luo ja simuloi 100 käyttäjäpyyntöä testattavalle palvelimelle, kuten alla oleva kaavio havainnollistaa.

Kaavio a:sta JMeter Säikeiden ryhmä, joka simuloi käyttäjiä 1 - 100, joista jokainen lähettää pyynnön testattavalle sovellukselle

Säikeiden ryhmäpaneelissa on myös käynnistysaika, joka jakaa säikeiden aloituksen ajan kuluessa sen sijaan, että jokainen käyttäjä käynnistetään kerralla.

Näytteenottajat

Kuten jo tiedämme, JMeter tukee HTTP-, FTP-, JDBC- ja monien muiden protokollien testausta.

Tiedämme myös, että säikeryhmät simuloivat käyttäjien pyyntöjä palvelimelle.

Mutta miten säieryhmä tietää, minkä tyyppisen pyynnön (HTTP, FTP ja niin edelleen) sen on tehtävä?

Vastaus on Samplerit.

Käyttäjäpyyntö voi olla FTP-pyyntö, HTTP-pyyntö, JDBC-pyyntö ja niin edelleen. Alla olevassa kuvassa on lueteltu tässä opetusohjelmassa käsitellyt esimerkkitapaukset.

Puukaavioluettelo JMeter näytteenottajat: FTP-pyyntö, HTTP-pyyntö, JDBC-pyyntö, BSF-näytteenottaja, käyttölokien näytteenottaja ja SMTP-näytteenottaja

FTP-pyyntö

Kuvitellaan, että haluat testata FTP-palvelimen suorituskykyä. Voit käyttää FTP-pyyntöjen näytteenottajaa JMeter tämän tehtävän suorittamiseen. Tämän ohjaimen avulla voit lähettää FTP "lataustiedoston" tai "lataustiedoston" pyynnön FTP-palvelimelle.

Kaavio esillä JMeter FTP-pyynnön lähettäminen FTP-palvelimelle tiedoston lataamiseksi tai lähettämiseksi

Jos esimerkiksi haluat ladata tiedoston "Test.txt" testattavalta FTP-palvelimelta, sinun on määritettävä joitain parametreja JMeter kuten alla olevassa kuvassa.

FTP-pyyntöjen esimerkkipaneeli, jossa palvelimena on ftp.example.com, portti 21, etätiedostona Test.txt ja kirjautuminen anonyymisti

Paneeli asettaa palvelimen ftp.example.com, portti 21, etätiedosto Test.txt-tiedostoon ja get(RETR)-optio, joten JMeter lähettää FTP-komennon palvelimelle ja lataa tiedoston.

HTTP-pyyntö

Tämän samplerin avulla voit lähettää HTTP/HTTPS-pyynnön verkkopalvelimelle.

Harkitse alla olevaa esimerkkiä. JMeter lähettää HTTP-pyynnön Google verkkosivusto ja hakee siitä HTML-tiedostoja tai kuvia.

Kaavio JMeter HTTP-pyynnön lähettäminen Google Sivustot ja HTML:n ja kuvien vastaanottaminen vastineeksi

Opetusohjelmassa JMeter Suorituskykytestaus, selitämme lisää tästä HTTP-pyynnöstä. Se on näytteenottaja, jota käytetään eniten verkkosovellusten testaus työ on riippuvainen.

JDBC-pyyntö

Tämän näytteenottajan avulla voit suorittaa tietokannan suorituskyvyn testaus. Se lähettää JDBC-pyynnön (SQL-kyselyn) tietokantaan.

Kaavio JMeter SQL-kyselyn lähettäminen tietokantapalvelimelle ja tuloksen vastaanottaminen

Esimerkiksi tietokantapalvelimella on testitulos-kenttä tallennettuna taulukkoon nimeltä testitaulukko. Haluat kysellä näitä tietoja tietokantapalvelimelta, joten voit määrittää JMeter lähettää a SQL kysely tälle palvelimelle tietojen hakemiseksi.

JDBC-pyyntöpaneeli, jonka kyselytyypiksi on asetettu Select Statement ja kyselyksi select test_result from test_tbl, jossa id = 1

Kyselytyyppi on tässä Select Statement ja kysely lukee select test_result from test_tbl where id = 1JDBC-yhteyden määrityselementin on annettava pooli, johon Muuttujan nimi -kenttä osoittaa.

BSF näytteenottolaite

Tämän samplerin avulla voit kirjoittaa samplerin käyttämällä a BSF skriptikieli.

Tässä on esimerkki BSF-näytteenottajasta JMeter, jossa on kentät komentosarjakielelle, komentosarjalle välitettäville parametreille ja joko inline-komentosarjalle tai ulkoiselle komentosarjatiedostolle.

BSF Sampler -paneeli, jossa on kentät komentosarjakielelle, parametreille, ulkoiselle komentosarjatiedostolle ja komentosarjan sisäosalle

Vanhenemishuomautus: BSF-elementtiperhe vanhentui JSR223-elementtien hyväksi, eikä sitä enää esiinny JMeter komponenttiviiteKäytä nykyisissä versioissa JSR223-näytteenotin Groovy, joka kääntää skriptin ja toimii paljon paremmin kuormituksen alla. Yllä oleva paneeli on säilytetty tässä, koska vanhemmat testisuunnitelmat sisältävät sen edelleen.

Käytä lokinäytteenottolaitetta

Tämän näytteenottajan avulla voit lukea käyttölokeja ja luoda HTTP-pyyntöjä. Lokimerkinnät voivat olla kuvia, HTML:ää, CSS:ää ja niin edelleen.

Lokinäytteen paneeli, jossa näkyvät oletusarvoiset palvelin- ja porttikentät, TCLogParser-laajennusluokka ja lokitiedoston sijainti

Jäsennys-kentän oletusarvo on org.apache.jmeter.protocol.http.util.accesslog.TCLogParserja Lokitiedoston sijainti -kenttä osoittaa JMeter sen lokin kohdalla, jonka haluat toistaa.

SMTP-näytteenottaja

Jos haluat testata sähköpostipalvelinta, voit käyttää SMTP-näytteenotinta. Tätä näytteenotinta käytetään sähköpostiviestien lähettämiseen SMTP-protokollan avulla.

SMTP-näytepaneeli, jossa on palvelinasetukset, sähköpostiosoitteet, todennus- ja suojausasetukset sekä viestiasetukset

Paneeli ryhmittelee palvelinasetukset, sähköpostiosoitteet, todennus- ja viestiasetukset ja tulostaa oletusportit Portti-kentän viereen: SMTP 25, SSL 465 ja StartTLS 587.

kuuntelijoita

Kuuntelijat näyttävät testisuorituksen tulokset. Ne voivat esittää tuloksia eri muodoissa, kuten puuna, taulukkona, kaaviona tai lokitiedostona.

Kaavio, jossa kuuntelija jakaa tulokset kaavio-, puu-, taulukko- ja raporttinäkymiin

Kaavion tulokset listener näyttää palvelimen vasteajat kaaviossa, jonka alla näkyvät otosmäärä, keskiarvo, poikkeama, läpimenoaika ja mediaani.

Graafitulosten kuuntelija piirtää vasteaikoja data-, keskiarvo-, mediaani-, poikkeama- ja läpimenoaikasarjoilla

Näytä tulospuu näyttää kunkin käyttäjäpyynnön tuloksen HTML-muodossa, ja Sampler-tulosvälilehdellä raportoidaan latausaika, viive, koko ja vastauskoodi.

Näytä tulokset Puun kuuntelija, jossa on pyyntöluettelo vasemmalla ja Sampler-tulosvälilehti, jossa näkyy vastauskoodi 200

Näytä tulokset taulukossa näyttää testituloksen yhteenvedon taulukkomuodossa, yksi rivi näytettä kohden.

Näytä tulokset taulukkokuuntelijassa, jossa on sarakkeet näytteen numerolle, aloitusajalle, säikeen nimelle, otsikolle ja näytteen ajalle

Lokitiedosto tallentaa saman yhteenvedon tekstinä, jota säilytät, kun testi suoritetaan ilman graafista käyttöliittymää.

Yhteenvetolokkien yhteenveto, jossa luetellaan näytteenottajan otsikot näytteiden määrillä, keskiarvoilla ja YHTEENSÄ-rivillä

Paras harjoitus: GUI-kuuntelijat kuluttavat muistia ja vääristävät tuloksia, joten suorita oikeita kuormitustestejä ei-graafisessa tilassa ja avaa tallennettu tulostiedosto jälkikäteen.

Kokoonpanoelementit

Konfiguraatioelementit määrittävät oletusarvot ja muuttujat myöhempää käyttöä varten näytteenottimissa.

Alla oleva kuva näyttää joitain yleisesti käytettyjä kokoonpanoelementtejä JMeter.

Puukaavio JMeter määrityselementit: CSV-tietojoukon määritys, HTTP-evästehallinta, kirjautumismäärityselementti, HTTP-pyynnön oletusarvot ja FTP-pyynnön oletusarvot

CSV-tietojoukon määritys

Oletetaan, että haluat testata verkkosivustoa 100 käyttäjällä, jotka kirjautuvat sisään eri tunnuksilla. Sinun ei tarvitse tallentaa skriptiä 100 kertaa. Voit parametroida skriptin syöttämään eri kirjautumistiedot. Nämä kirjautumistiedot (esimerkiksi käyttäjätunnus ja salasana) voidaan tallentaa tekstitiedostoon. JMeter sisältää elementin, jonka avulla voit lukea eri parametreja kyseisestä tekstitiedostosta. Se on ”CSV Data Set Config”, jota käytetään rivien lukemiseen tiedostosta ja niiden jakamiseen muuttujiksi.

JMeter testisuunnitelmapuu, jossa on valittuna CSV-tietojoukon kokoonpano kirjautumisohjaimen alla HTTP-pyyntöjen oletusarvojen rinnalla

Tämä on esimerkki CSV-tiedostosta. Se on tekstitiedosto, joka sisältää kohdesivustolle kirjautumiseen käytettävät käyttäjätunnukset ja salasanat.

Tekstitiedosto csv_data.txt, joka sisältää neljä pilkulla erotettua riviä käyttäjätunnuksen, salasanan ja evästeen pituuden arvoja

HTTP Cookie Manager

Ymmärtäkäämme tämä esimerkillä.

Käytit selaintasi (Firefox, Chrome ja niin edelleen) selaamiseen www.google.com.

Kirjaudut sisään käyttäjätunnuksellasi ja salasanallasi.

Käyttäjätunnuksesi ja salasanasi tallennetaan tietokoneellesi evästeinä.

Seuraavalla kerralla kun tulet käymään www.google.com, sinun ei tarvitse kirjautua sisään uudelleen, koska selaimesi käyttää evästeitäsi käyttäjätietoina sisäänkirjautumiseen.

HTTP-evästeiden hallintaohjelmalla on sama ominaisuus kuin verkkoselaimella. Jos saat HTTP-pyynnön ja vastaus sisältää evästeen, evästeiden hallintaohjelma tallentaa evästeen automaattisesti ja käyttää sitä kaikissa tulevissa pyynnöissä kyseiselle verkkosivustolle.

HTTP-pyynnön oletusarvot

Tämän elementin avulla voit asettaa oletusarvoja, joita HTTP-pyyntöohjaimesi käyttävät.

Esimerkiksi

Lähetät 100 HTTP-pyyntöä palvelimelle google.com.

Sinun pitäisi syöttää palvelimen nimi google.com manuaalisesti kaikille 100 pyynnölle.

Sen sijaan voit lisätä yhden HTTP-pyynnön oletusarvot -elementin, jonka ”Palvelimen nimi tai IP” -kenttään on asetettu google.com, kuten alla on esitetty.

HTTP-pyyntöjen oletusasetukset -paneeli, jossa palvelimen nimi on google.com, portti 80 sekä yhteyden ja vastauksen aikakatkaisut

Ei tarvitse kirjoittaa sitä sata kertaa. Tämä elementti selitetään yksityiskohtaisesti opetusohjelmassa. JMeter Suorituskykytestaus.

Kirjautuminen Config Element

Kirjautumisen määrityselementin avulla voit lisätä tai ohittaa käyttäjätunnuksen ja salasanan asetukset samplereissa.

Haluat esimerkiksi simuloida yhden käyttäjän kirjautumista verkkosivustolle www.facebook.com käyttäjätunnuksella ja salasanalla. Voit lisätä tämän käyttäjätunnuksen ja salasanan käyttäjäpyyntöön kirjautumismäärityselementin avulla.

Kirjautumismäärityselementtipaneeli, jossa käyttäjätunnuksena on guru99 ja salasanana peitetty kenttä

Kirjautumismäärityselementti vs. CSV-tietojoukon määritys

Kirjautuminen Config Element CSV-tietojoukon määritys
Käytetään simuloimaan yhden käyttäjän kirjautumista Käytetään useiden käyttäjien kirjautumisten simulointiin
Sopii vain kirjautumisparametreille (käyttäjätunnus ja salasana) Soveltuu suurelle määrälle parametreja

Nämä kaksi elementtiä kattavat lähes kaikki valtakirjatilanteet, joihin törmäät. suorituskyvyn testaustyökalut työtä.

UKK

Se kertoo JMeter kuinka kauan kestää ennen kuin kaikki säikeet ovat käynnissä. Kymmenen säiettä, joiden käynnistysaika on 100 sekuntia, käynnistyvät kymmenen sekunnin välein. Liian lyhyt käynnistysaika kuormittaa palvelinta ja aiheuttaa virheitä, joita kukaan oikea käyttäjä ei koskaan aiheuttaisi.

Ajastimet lisäävät tauon pyyntöjen väliin, jotta simuloitu lataus muistuttaa todellista selaamista tulvan sijaan. Väittämät tarkistavat jokaisen vastauksen ja merkitsevät otoksen epäonnistuneeksi, jos tilakoodi, teksti tai kesto ei vastaa määrittämääsi.

Ne ryhmittelevät ja haarauttavat alempia pyyntöjä. Silmukkaohjain toistaa lapsensa, If-ohjain suorittaa ne ehdollisesti ja tapahtumaohjain raportoi koko ryhmän yhtenä ajastettuna vaiheena tuloksissa.

Ei. Kuuntelijat, kuten View Results Tree, puskuroivat jokaisen näytteen ja vääristävät raportoimiaan lukuja. Suorita testi ei-graafisessa käyttöliittymätilassa, kirjoita tulokset tiedostoon ja lataa sitten tiedosto kuuntelijaan ajon päätyttyä.

Konfiguraatioelementit ja esikäsittelijät otetaan käyttöön ensin, sitten suoritetaan sampleri ja lopuksi jälkikäsittelijät, väitteet ja kuuntelijat. Myös laajuus on tärkeä: suunnitelmatasolle sijoitettu elementti koskee kaikkia sen alapuolella olevia pyyntöjä.

Se on hyödyllinen kuvioiden havaitsemisessa. Tulostiedoston syöttäminen avustajalle paljastaa hitaimmat tunnisteet, virheryppäitä ja vasteaikatrendit paljon nopeammin kuin rivien lukeminen. Vahvista aina löydös raakanäytteitä vasten ennen toimimista.

Kyllä. Se luonnostelee Groovy varten extracarvoja, hyötykuormien kokoamista ja muuttujien asettamista JSR223-elementin sisällä. Tarkista jokainen ehdotus, koska se usein viittaa vanhentuneeseen BeanShell-rajapintaan tai muuttujiin, jotka JMeter ei paljasta.

Yksi säieryhmä ja yksi näytteenottajan funktio. Kaikki muu on valinnaista. Käytännössä kuuntelija lisätään, jotta tulokset ovat näkyvissä, ja oletusarvot tai datatiedosto lisätään, kun samat arvot alkavat toistua pyynnöissä.

Tiivistä tämä viesti seuraavasti: