jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kirk Pepperdine <>
Subject Re: Very beginner question
Date Mon, 08 May 2017 16:28:24 GMT
Hi Lily,

Running 7K threads is generally not a great idea. Not in a single JVM or multiple JVMs running
on the same machine.  Instead of focusing on the number of concurrent users I would suggest
you focus on the load that the server is suppose to handle. Then you can calculate the load
over time and then set the number of users so that you can maintain that load.

For example if I want to manage a request rate of 100 request arrivals per second and I want
to test for 2 hours, I would schedule 720000 threads to be released over the two hour period
at the rate of 100 / second. Make sure you stutter the request by putting a random pause at
the top of the thread group. Pause would be 0-1000ms.

Thread Group configuration...
Threads: 7200000
Warmup: 7200 (seconds)
Repeat: 1

With the setup prescribed above you should see the number of active threads stabilize at some
value after some period of time. If you don’t, the server isn’t keeping up. If the server
keeps up, you have a load test. If the server doesn’t keep up, it should fall over close
to the same way it would fall over if deployed. If you need a request arrival rate greater
than 100 then I would move to a distributed JMeter configuration. IME, 100 / second is about
the max release rate that JMeter can comfortably manage. After that JMeter tends to fall over
with OOME or other like resource exhaustion conditions.

Having threads spin sets your test up to suffer from coordinated commission (CO)  (see one
of Gil Tene’s talks on the subject). The downside of this condition is that you’ll be
testing at much lower than expected loads and that will skew your results in the wrong direction.
Setting the repeat factor to 1 means the thread will only run through the thread group once
but by doing so will limit the effects of CO.

Kind regards,
Kirk Pepperdine

> On May 8, 2017, at 6:12 PM, Lily Nguyen <> wrote:
> Hi, everyone
>     I need to load test (~7000 concurrent users) for an https application
> that is pretty much like gmail (login, upload, download, search, etc.)
> I've watched some JMeter beginner videos but I am still confused:
> 1)   Do I need to do parameterization for the 7000 users or simply just
> raise the number of threads to 7000 to call it a "load test" ?
> 2)   I want to distribute different actions among these 7000 users.  I
> assume I would need to create each script for each action, and tie the
> scripts to the number of users I want.  As I am really under time
> constraint and doing this for the first time, I am sure I will need to go
> thru my trial and errors, but could anyone please share with me some
> experience / guidance so I would feel safe at least going in the right
> direction for my deadline? Especially with the upload/download?
> Thank you very much for your help!
> Lily,

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message