holdFor

164 views
Skip to first unread message

alex bagehot

unread,
Apr 11, 2014, 11:14:04 AM4/11/14
to gat...@googlegroups.com
Hi,

I have the following:
version: 2.0.0-SNAPSHOT

setUp(scn.inject(atOnceUsers(numUsers)).throttle(reachRps(20) in (40 seconds),holdFor(1000 seconds))

      .protocols(httpConf)



I am expecting the rps to ramp up from 0 to 20 in 40 seconds, then to remain constant at 20 rps for 1000 seconds.

What is happening is after the initial ramp the rps resets to 0 and it ramps up again over 40 seconds, leading to a saw profile over time.


Is my config/understanding wrong or is there a defect?


Thanks,

Alex

Stéphane Landelle

unread,
Apr 11, 2014, 11:17:22 AM4/11/14
to gat...@googlegroups.com
Looks like a bug....


--
You received this message because you are subscribed to the Google Groups "Gatling User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gatling+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Stéphane Landelle

unread,
Apr 11, 2014, 11:34:48 AM4/11/14
to gat...@googlegroups.com
I haven't been able to reproduce.
Could it be that it's your system under test that chokes?

Stéphane Landelle

unread,
Apr 11, 2014, 11:35:19 AM4/11/14
to gat...@googlegroups.com
What's numUsers value?

alex bagehot

unread,
Apr 11, 2014, 11:46:41 AM4/11/14
to gat...@googlegroups.com
thanks, large - 100000. no particular rationale, just large to let the test run on and on. if there's a better/proper way let me know

Stéphane Landelle

unread,
Apr 11, 2014, 11:58:18 AM4/11/14
to gat...@googlegroups.com
Try setting a more reasonable value. I'm not sure if that's the real problem, but you're flooding the system with way too many virtual users that won't get any chance to work (100.000 users for 20rps top).

30 should be plenty enough for reaching 20rps.

alex bagehot

unread,
Apr 11, 2014, 12:24:37 PM4/11/14
to gat...@googlegroups.com
ok thanks, each user (currently) sends 1 request, the test only lasts 11 seconds in this case with 30 in atOnceUsers.
I will need to run soak tests for 48 hours
the assumption with an open workload model is that there is an arrival rate, and the users keep arriving at that rate (could be variable) until the test ends

2014-04-11 16:59:22                                          11s elapsed

---- get pseudo-random sequence of images --------------------------------------

[##########################################################################]100%

          waiting: 0      / running: 0      / done:30    


I tried

setUp(scn.inject(constantUsersPerSec(21).during(1000 seconds)).throttle(reachRps(20) in (40 seconds),holdFor(1000 seconds))

but it still resets to 0rps every 40 seconds


tried 

setUp(scn.inject(constantUsersPerSec(5).during(1000 seconds))

roughly every 90 seconds



I don't really understand the difference between inject with throttle and just inject.

I need an arrival rate for an open workload model, which seems to be provided by inject, and if implemented reliably shouldn't need a "throttle"? what do you think


thanks,

Alex

alex bagehot

unread,
Apr 11, 2014, 6:01:23 PM4/11/14
to gat...@googlegroups.com
Hi Stephane,
... fortunately it turns out I was loosing requests at the serverside which has been fixed -  so it is looking good. The following works well.

scn.inject(rampUsersPerSec(1) to (20) during (10 seconds),constantUsersPerSec(20).during(1 minute))

thanks for your swift reply in any case earlier.

Thanks,

Alex


Stéphane Landelle

unread,
Apr 11, 2014, 6:06:06 PM4/11/14
to gat...@googlegroups.com
I'm very happy with this outcome, honestly, I couldn't find out how this could go this wrong.

Anyway, this feature is quite new and there's room for improvement. Starting a huge bunch of virtual users and then throttling them very hard should be that harmful (profile is distorted), and it would be great that the tool could infer the number of users.

Next version maybe.

Thanks for your feedback!

Stéphane
Reply all
Reply to author
Forward
0 new messages