„Jmeter“ laikmačiai: pastovus, atsitiktinis Gauso atsitiktinis, vienodas (pavyzdys)

Turinys:

Anonim

Kas yra laikmačiai?

Pagal numatytuosius nustatymus „JMeter“ siunčia užklausą nedarydamas pertraukos tarp kiekvienos užklausos. Tokiu atveju „JMeter“ gali užgožti jūsų bandomąjį serverį pateikdama per daug užklausų per trumpą laiką.

Įsivaizduokime, kad per kelias sekundes išsiųsite tūkstančius užklausų bandomam žiniatinklio serveriui. Taip atsitinka!

Laikmačiai leidžia „JMeter“ atidėlioti kiekvieną užklausą, kurią pateikia gija. Laikmatis gali išspręsti serverio perkrovos problemą.

Be to, realiame gyvenime lankytojai į svetainę atvyksta ne vienu metu, o skirtingais laiko intervalais. Taigi laikmatis padės imituoti realaus laiko elgesį.

Šioje pamokoje sužinosite

  • Nuolatinis laikmatis
  • Gauso atsitiktinis laikmatis
  • Vienodas atsitiktinis laikmatis
  • „BeanShell Timer“
  • BSF laikmatis
  • JSR223 Laikmatis
  • Kaip naudoti pastovų laikmatį

Toliau pateikiami keli įprasti laikmačio tipai „JMeter“

Nuolatinis laikmatis:

Nuolatinis laikmatis atideda kiekvieno vartotojo užklausą tą patį laiką.

Gauso atsitiktinis laikmatis:

Gauso atsitiktinis laikmatis atideda kiekvieno vartotojo užklausą atsitiktine tvarka .

Parametrai:

Atributas apibūdinimas
vardas Aprašomas šio laikmačio pavadinimas, rodomas medyje
Nuokrypiai (milisekundės) Parametras Gauso pasiskirstymo funkcija
Pastovaus delsos poslinkis (milisekundės) Papildoma vertė milisekundėmis

Taigi bendras vėlavimas apibūdinamas taip:

Vienodas atsitiktinis laikmatis:

Vienodas atsitiktinis laikmatis atideda kiekvieno vartotojo užklausą atsitiktine tvarka.

Parametrai:

Atributas

apibūdinimas

vardas

Aprašomas šio laikmačio pavadinimas, rodomas medyje

Atsitiktinis vėlavimas maksimalus

Didžiausias atsitiktinis atidėjimo milisekundžių skaičius.

Nuolatinis vėlavimo poslinkis (milisekundės)

Papildoma vertė milisekundėmis

Bendras vėlavimas yra atsitiktinės vertės ir kompensacijos vertės suma.

„BeanShell Timer“

„BeanShell“ laikmatis gali būti naudojamas uždelsimo tarp kiekvieno vartotojo užklausos generavimui .

BSF laikmatis

Naudojant BSF scenarijų kalbą, BSF laikmatis gali būti naudojamas uždelsimui tarp kiekvieno vartotojo prašymo sugeneruoti.

JSR223 Laikmatis

JSR223 laikmatis gali būti naudojamas uždelsimui tarp kiekvienos vartotojo užklausos generuoti naudojant JSR223 scenarijų kalbą

Kaip naudoti pastovų laikmatį

Šiame pavyzdyje naudosite nuolatinį laikmatį, kad nustatytumėte fiksuotą vėlavimą tarp vartotojo užklausų google.com.

Pradėkime nuo paprasto testo scenarijaus

  1. „JMeter“ 100 kartų sukuria vieną vartotojo užklausą šiuo adresu: http://www.google.com
  2. Vėlavimas tarp kiekvieno vartotojo prašymo yra 5000 ms

Štai šio praktinio pavyzdžio gairės :

Išankstinė sąlyga:

Mes pakartotinai naudojame 1 ir 2 žingsnius mokomojoje programoje „JMeter Performance Testing“.

1 žingsnis) Pridėti gijų grupę

Dešiniuoju pelės mygtuku spustelėkite testavimo planą ir pridėkite naują gijų grupę: Pridėti -> Gijos (Vartotojai) -> Gijų grupė

„Thread Group“ valdymo skydelyje įveskite Thread Properties taip

Šis nustatymas leidžia „JMeter“ per 100 kartų sukurti vieną vartotojo užklausą adresu http://www.google.com

2 žingsnis) Pridėti „JMeter“ elementus

  • Pridėti HTTP užklausos numatytąjį nustatymą
  • Pridėti HTTP užklausą

3 žingsnis) Pridėti pastovų laikmatį

Dešiniuoju pelės mygtuku spustelėkite siūlų grupę -> Laikmatis -> Nuolatinis laikmatis

5000 milisekundžių gijos vėlavimo konfigūravimas

4 žingsnis) Pridėkite rodinių rezultatus lentelėje

„View Results in Table“ rodo bandymo rezultatus lentelės formatu.

Dešiniuoju pelės mygtuku spustelėkite Pridėti -> Klausytojas -> Peržiūrėti rezultatą lentelėje

Žiūrėti rezultatus lentelėje rodoma taip, kaip pavaizduota žemiau

5 žingsnis) Paleiskite testą

Kai būsite pasirengę atlikti bandymą, meniu juostoje spustelėkite mygtuką Vykdyti arba spustelėkite trumpą klavišą „ Ctrl + R“

Tai yra šio bandymo rezultatas

Pavyzdžiui, aukščiau pateiktame paveikslėlyje leiskite analizuoti 2 pavyzdį

  • Pradžios laikas yra 22: 05: 01.866
  • 2 pavyzdžio mėginio laikas yra 172 ms
  • Nuolatinis laikmatis : 5000 ms (kaip sukonfigūruota)
  • Šios imties pabaigos laikas = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038

Taigi 3 pavyzdys turėtų prasidėti tuo metu, kai laikas yra 22: 05: 07.039 (kaip parodyta aukščiau pateiktame paveikslėlyje)

Vėlavimas kiekvieno bandinio 5000 MS

Jei pakeisite Nuolatinis laikmatis yra nulis , pamatysite, kad rezultatas pasikeitė

Leiskite analizuoti 1 pavyzdį

  • Pradžios laikas yra 22: 17: 39.141
  • 2 pavyzdžio mėginio laikas yra 370 ms
  • Nuolatinis laikmatis : 0 ms (kaip sukonfigūruota)
  • Šios imties pabaigos laikas yra = 22: 17: 39.141+ 370 + 0 = 22: 17: 39.511

Taigi 2 pavyzdys turėtų prasidėti tuo metu, kai yra 22: 17: 39.512 (parodyta aukščiau pateiktame paveiksle)

Problemų sprendimas:

Jei susiduriate su problema vykdydami pirmiau pateiktą scenarijų ... atlikite šiuos veiksmus

  1. Patikrinkite, ar prisijungiate prie interneto per tarpinį serverį. Jei taip, pašalinkite tarpinį serverį.
  2. Atidarykite naują „JMeter“ egzempliorių
  3. Atidarykite „TimerTestPlan.jmx“ naudodami „Jmeter“
  4. Dukart spustelėkite Gijų grupė -> Peržiūrėti rezultatą lentelėje
  5. Atlikite testą