Mitä ovat ajastimet?
JMeter lähettää oletusarvoisesti pyynnön keskeyttämättä . Siinä tapauksessa JMeter voi hukuttaa testipalvelimesi tekemällä liian monta pyyntöä lyhyessä ajassa.
Kuvitellaan, että lähetät tuhansia pyyntöjä testattavalle web-palvelimelle muutamassa sekunnissa. Näin tapahtuu!
Ajastimet antavat JMeterille mahdollisuuden viivyttää ketjun pyyntöjen välillä. Ajastin voi ratkaista palvelimen ylikuormitusongelman .
Myös tosielämässä vierailijat eivät saavu verkkosivuilla kaikki samaan aikaan, mutta eri aikaan. Joten Ajastin auttaa matkimaan reaaliaikaista käyttäytymistä.
Tässä opetusohjelmassa opit
- Jatkuva ajastin
- Gaussin satunnainen ajastin
- Yhtenäinen satunnainen ajastin
- BeanShell-ajastin
- BSF-ajastin
- JSR223 Ajastin
- Kuinka käyttää jatkuvaa ajastinta
Seuraavassa on joitain yleisiä ajastintyyppejä JMeterissä
Jatkuva ajastin:
Jatkuva ajastin viivästyttää kutakin käyttäjän pyyntöä saman ajan.
Gaussin satunnainen ajastin:
Gaussin satunnainen ajastin viivästyttää kutakin käyttäjän pyyntöä satunnaisen ajan.
Parametrit:
Attribuutti | Kuvaus |
---|---|
Nimi | Kuvaava nimi tälle ajastimelle, joka näkyy puussa |
Poikkeamat (millisekunnit) | Parametri Gaussin Distribution Function |
Jatkuva viiveen siirtymä (millisekuntia) | Muihin arvo millisekunneissa |
Joten kokonaisviive kuvataan alla olevan kuvan mukaisesti:
Yhtenäinen satunnainen ajastin:
Yhtenäinen satunnainen ajastin viivästyttää kutakin käyttäjän pyyntöä satunnaisen ajan.
Parametrit:
Attribuutti |
Kuvaus |
---|---|
Nimi |
Kuvaava nimi tälle ajastimelle, joka näkyy puussa |
Satunnainen viive enintään |
Suurin satunnainen viivästyvien millisekuntien määrä. |
Jatkuva viiveen siirtymä (millisekuntia) |
Muihin arvo millisekunneissa |
Kokonaisviive on satunnaisarvon ja offset-arvon summa.
BeanShell-ajastin
BeanShell-ajastinta voidaan käyttää viiveajan luomiseen kunkin käyttäjän pyynnön välillä.
BSF-ajastin
BSF-ajastinta voidaan käyttää viiveiden luomiseen jokaisen käyttäjän pyynnön välillä BSF-komentosarjakielellä.
JSR223 Ajastin
JSR223-ajastinta voidaan käyttää luomaan viive jokaisen käyttäjän pyynnön välillä käyttämällä JSR223-komentosarjakieliä
Kuinka käyttää jatkuvaa ajastinta
Tässä esimerkissä vakioajastimella määritetään kiinteä viive google.fi:n käyttäjäpyyntöjen välillä.
Aloitetaan yksinkertaisella testiskriptillä
- JMeter luo yhden käyttäjäpyynnön osoitteeseen http://www.google.com 100 kertaa
- Viive kunkin käyttäjän pyynnön välillä on 5000 ms
Tässä on käytännön esimerkin etenemissuunnitelma :
Edellytys:
Käytämme uudelleen vaiheita 1 ja 2 opetusohjelmassa JMeter Performance Testing.
Vaihe 1) Lisää ketjuryhmä
Napsauta hiiren kakkospainikkeella testisuunnitelmaa ja lisää uusi ketjuryhmä: Lisää -> säikeet (käyttäjät) -> säieryhmä
Kirjoita Kierre-ohjauspaneelissa Kierteen ominaisuudet seuraavasti
Tämän asetuksen avulla JMeter voi luoda yhden käyttäjäpyynnön osoitteeseen http://www.google.com 100 kertaa
Vaihe 2) Lisää JMeter-elementtejä
- Lisää HTTP-pyynnön oletus
- Lisää HTTP-pyyntö
Vaihe 3) Lisää vakioajastin
Napsauta hiiren kakkospainikkeella Lankaryhmä -> Ajastin -> Jatkuva ajastin
5000 millisekunnin langan viiveen määrittäminen
Vaihe 4) Lisää Näytä tulokset taulukkoon
Näytä tulokset taulukossa näyttää testitulokset taulukkomuodossa.
Napsauta hiiren kakkospainikkeella Lisää -> Kuuntelija -> Näytä tulos taulukossa
Näytä tulokset taulukossa näkyy alla olevan kuvan mukaisesti
Vaihe 5) Suorita testi
Kun olet valmis suorittamaan testin, napsauta valikkorivin Suorita- painiketta tai lyhyt näppäin Ctrl + R
Tämä on tämän testin tulos
Esimerkiksi, analysoi esimerkki 2 yllä olevassa kuvassa
- Aloitusaika on 22: 05: 01.866
- Näytteen 2 näyteaika on 172 ms
- Vakioajastin : 5000 ms (määritettynä)
- Lopunajan Tämän näytteen = 22: 05: 01,866 + 172 + 5000 = 22: 05: 07,038
Joten näytteen 3 pitäisi alkaa silloin, kun kello on 22: 05: 07.039 (kuten yllä olevassa kuvassa on esitetty)
Viive kunkin näytteen on 5000 ms
Jos muutat vakioajastimen arvoksi nolla , näet tuloksen muuttuneen
Anna analysoida näyte 1
- Aloitusaika on 22: 17: 39.141
- Näytteen 2 näyteaika on 370 ms
- Jatkuva ajastin : 0 ms (kuten määritetty)
- Päättymisaika Tämän näytteen on = 22: 17: 39.141+ 370 + 0 = 22: 17: 39,511
Joten näyte 2 pitäisi alkaa silloin, kun 22: 17: 39.512 (näkyy yllä olevassa kuvassa)
Ongelmien karttoittaminen:
Jos kohtaat ongelman yllä olevan skenaarion suorittamisen yhteydessä, toimi seuraavasti
- Tarkista, oletko yhteydessä Internetiin välityspalvelimen kautta. Jos kyllä, poista välityspalvelin.
- Avaa uusi JMeter-esiintymä
- Avaa TimerTestPlan.jmx Jmeterissä
- Kaksoisnapsauta ketjuryhmää -> Näytä tulos taulukossa
- Suorita testi