run all requests at once or increase active users

752 views
Skip to first unread message

Daria Derkach

unread,
Oct 20, 2015, 7:03:01 PM10/20/15
to Gatling User Group
How to setup gatling to execute all users in parallel? I want to run at once 1800 requests, but gatling handle all of them and in "Active user" line I saw, that it executes only ~5 request per second, other are just waiting for their turn. 

Maybe I need to change configuration on host where test is running?

Stéphane LANDELLE

unread,
Oct 20, 2015, 10:12:13 PM10/20/15
to gat...@googlegroups.com
No idea what you're doing or trying to do, sorry.

A scenario is a workflow where virtual users go from one action to another.
You're the one in charge of configuring how to inject users into it, see "inject" documentation.

Stéphane Landelle
Lead developer


On Wed, Oct 21, 2015 at 1:03 AM, Daria Derkach <lev...@gmail.com> wrote:
How to setup gatling to execute all users in parallel? I want to run at once 1800 requests, but gatling handle all of them and in "Active user" line I saw, that it executes only ~5 request per second, other are just waiting for their turn. 

Maybe I need to change configuration on host where test is running?

--
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.

Daria Derkach

unread,
Oct 21, 2015, 12:28:15 AM10/21/15
to Gatling User Group
Let me explain a little bit more details :)

I have scenario like
setUp(
scn.inject(
atOnceUsers(1800)
)
).assertions(global.successfulRequests.percent.greaterThan(95))

So, I expecting that users will be start at once and than all of them will start to execute, but in log I observe, that they all started at once, but they are not executed at the same time:

22:41:44           waiting: 0      / active: 134    / done:1666  
22:41:44 ---- Requests ------------------------------------------------------------------
22:41:44 > Global                                                   (OK=1718   KO=0     )
22:41:44 > action1                                                    (OK=1666   KO=0     )
22:41:44 > action2                                                     (OK=52     KO=0     )
22:41:44 ================================================================================
22:41:44 
22:41:49 
22:41:49 ================================================================================
22:41:49 2015-10-19 22:41:49                                        3115s elapsed
22:41:49 ---- -----------------------------------------------------------------
22:41:49 [####################################################################------] 92%
22:41:49           waiting: 0      / active: 132    / done:1668  
22:41:49 ---- Requests ------------------------------------------------------------------
22:41:49 > Global                                                   (OK=1720   KO=0     )
22:41:49 > action1                                                    (OK=1668   KO=0     )
22:41:49 > action2                                                     (OK=52     KO=0     )
22:41:49 ================================================================================

So, for 5 second was finished only 2 users, for another 5 seconds - another 2 users.
My system can handle a high load, so I want to execute all 1800 requests at once -> i means, that i want to start test with 1800 users and finish test after 2-3 seconds with "all users done" (it's approximately response time of one request).

Sorry for misunderstanding!

Thanks!

Stéphane LANDELLE

unread,
Oct 21, 2015, 6:40:10 AM10/21/15
to gat...@googlegroups.com
I guess either your system under test, or your Gatling host, or both, have a hard time opening 1800 new connections instantly (and possibly performing 1800 SSL handshakes if you use HTTPS).

Stéphane Landelle
Lead developer


John Arrowwood

unread,
Oct 21, 2015, 8:02:19 AM10/21/15
to Gatling User Group
Unless the system you are testing is on a cluster, there is no way it can handle 1800 connections arriving simultaneously.  The network transport layer can't handle that kind of concurrency, not to mention the application.  

Play with ramping for 1 user per second to 2,500 users per second over a long duration, like, over an hour.  Then look at the graph and you will see at some point where the response times start to climb.  At that point, you will have hit the maximum concurrency of your system under test.  

Moyang Zhang

unread,
Jan 19, 2017, 6:48:13 PM1/19/17
to Gatling User Group
Hi, Daria:

Did you figure out your problem eventually? I met the same thing with my tests...

Much appreciate if you can provide any of your solution
Reply all
Reply to author
Forward
0 new messages