Sziasztok!
Még csak most ismerkedek a JMeterrel, és belefutottam egy problémába, amire nem találom a választ.
A tesztelendő felállás az, hogy van egy web alkalmazás, Tomcaten fut, de gondolom ez most lényegtelen, és van ~400 célgép, amik 3 percenként küldenek egy-egy HTTP requestet az alkalmazásnak.
Odáig eljutottam, hogy létrehoztam egy thread groupot, aminek beállítottam a userek számát 400-ra, egy CSV-be felvettem a 400 gépazonosítót, és a thread groupban felvett HTTP Request ebből szépen sorban ki is veszi. A Ramp-Up Periodot beállítottam 3 percre, és az első ciklus le is fut szépen, 3 perc alatt minden gép egyszer bejelentkezik. Ezt szeretném ismételni, de ha a thread group loop count-ját beállítom 1-nél nagyobbra, az nem jó, mert ez nem a teljes thread groupra vonatkozik, hanem az éppen létrehozott threadre, és a threadek gyorsan ellövik a loop countban beállított számú kérést, amint létrejöttek. Lehet valahogy a threadnek szólni, hogy a requestek között várjon valamennyi ideig? Vagy a thread groupot kívülről ciklusba tenni, hogy ha véget ért, akkor kezdje elölről?
Próbáltam a requesthez timert adni, de az abban lévő delay time az a thread létrehozása utáni várakozási időt jelenti az első request előtt, nem pedig a ciklikus requestek közötti időt.
A dokumentumban nem találtam egyelőre semmit, se a stackoverflow-n. A kívánt működést úgy tudnám emulálni, hogy a thread groupot duplikálom annyiszor, ahányszor szeretném a 3 perces ciklust futtatni, és a Test Plan-ben beállítom a Run Thread Groups consecutively opciót, de szeretnék több órás ciklusokat is futtatni, és az nem tetszik, hogy duplikáljak 100-150 thread groupot.
Tud valaki megoldást erre a problémára, vagy a JMeter erre nem lesz jó?
Csabóca
1 Comment
Csaba Toth
"Próbáltam a requesthez timert adni, de az abban lévő delay time az a thread létrehozása utáni várakozási időt jelenti az első request előtt, nem pedig a ciklikus requestek közötti időt."
Is. Azt is, meg az egyes requestek közötti időt is. Az zavart meg, hogy mikor elindítottam, elkezdte létrehozni a threadeket, de request-et még nem küldött, és nem volt türelmem kivárni az első 3 perces ciklust, hogy mi történik utána, egy másik, hasonló próbálkozásnál meg valamit félre konfigurálhattam, és nem a várt módon viselkedett.
Így a kérdésem tárgytalan, megvan a válasz.