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
- „JMeter“ 100 kartų sukuria vieną vartotojo užklausą šiuo adresu: http://www.google.com
- 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
- Patikrinkite, ar prisijungiate prie interneto per tarpinį serverį. Jei taip, pašalinkite tarpinį serverį.
- Atidarykite naują „JMeter“ egzempliorių
- Atidarykite „TimerTestPlan.jmx“ naudodami „Jmeter“
- Dukart spustelėkite Gijų grupė -> Peržiūrėti rezultatą lentelėje
- Atlikite testą