You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Abel MacAdam <ab...@gmail.com> on 2008/07/09 16:38:37 UTC

3600 Threads with a rampup of 3600 seconds?

Hi,

Today I tried to emulate "3600 users in one hour" by making a test where
3600 threads where started in 3600 seconds. I observed that the load in one
of my CPU's went to 100 %, and that JMeter stopped responding. Eventually I
killed this process, and restarted it with 25 threads, to be started within
25 seconds, and looping forever, but now for 3600 seconds (one hour). Now
the test is running, while my CPU-usage is idling at away between 2 and 5 %.
At the same time I'm writing this question. So all in all a much better
situation.

My question: Is JMeter loading all 3600 threads in memory, resulting in
requiring that much memory and processor power?

Thanks,
Abel
-- 
View this message in context: http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
Sent from the JMeter - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by Peter Lin <wo...@gmail.com>.
if you don't set a ramp up time, jmeter will try to create all threads
when the test starts.

in general, having 3600 threads isn't necessary to simulate 3600 users
in one hour. What matters is the number of page views and hits per
second on the webserver.  It's better to try to simulate the
requests/second or pageviews/second.

3600 users that view 1 page every 5 minutes is different than 200
users viewing 10 pages ever 2 minutes. As a general rule, once you
know the req/second, you can calculate how many users a server can
support by looking at the average requests/user/minute.

peter

On Wed, Jul 9, 2008 at 10:38 AM, Abel MacAdam <ab...@gmail.com> wrote:
>
> Hi,
>
> Today I tried to emulate "3600 users in one hour" by making a test where
> 3600 threads where started in 3600 seconds. I observed that the load in one
> of my CPU's went to 100 %, and that JMeter stopped responding. Eventually I
> killed this process, and restarted it with 25 threads, to be started within
> 25 seconds, and looping forever, but now for 3600 seconds (one hour). Now
> the test is running, while my CPU-usage is idling at away between 2 and 5 %.
> At the same time I'm writing this question. So all in all a much better
> situation.
>
> My question: Is JMeter loading all 3600 threads in memory, resulting in
> requiring that much memory and processor power?
>
> Thanks,
> Abel
> --
> View this message in context: http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
> Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by kirk <ki...@gmail.com>.
Abel MacAdam wrote:
> Peter and Sebb,
>
> Thanks for your reply.
>
> How would you emulate:
> "During peak hours we get a maximum of 3600 requests per hour."
> and
> "Each step in the sales process may cost a maximum of 1 second"
>
> I think the second request is not possible to emulate, as it depends on the 
> webserver and traffic on the Internet, not on JMeter. 
>   
I read the second requirement as an SLA. You may want to add a timing 
assert to the HTTP
sampler so that it flags requests that fall outside of this boundry.
> The transaction I need to test consists of 6 pages. Different pages where 
> you need to fill in personal data. Compare it with entering your personal
> data 
> when you buy something at Amazon.
>
> Should I add "think" time at each page, so the "user" I emulate has the
> time to enter information? 10 Seconds per page where you need to enter
> something? That makes a transaction time of 20 seconds (two pages where
> data needs to be entered). 
>
> 1 Does that make 6 requests in 20 seconds?
> 2 Should I multiply that with 600, to get 3600 requests?
> or
> 3a Should I multiply that with 180 to get 3600 seconds? (eg repeat 180 
> times)
> and
> 3b  Should I use 4 users (3,333) to get from 180 to 600 requests?
>
> Eventually I used 25 threads with a ramp up of 25 seconds, to be repeated
> indefinitely. I observed that the server had problems (response code 502)
> responding to the load.
>   
If you've added a reasonable think time to each sampler I think you've 
found the answer to your question.
You need to start diagnosing the problem at this load.

Regards,
Kirk

> Abel
>
>
> sebb-2-2 wrote:
>   
>> On 09/07/2008, Abel MacAdam <ab...@gmail.com> wrote:
>>     
>>>  Hi,
>>>
>>>  Today I tried to emulate "3600 users in one hour" by making a test where
>>>  3600 threads where started in 3600 seconds. I observed that the load in
>>> one
>>>  of my CPU's went to 100 %, and that JMeter stopped responding.
>>> Eventually I
>>>  killed this process, and restarted it with 25 threads, to be started
>>> within
>>>  25 seconds, and looping forever, but now for 3600 seconds (one hour).
>>> Now
>>>  the test is running, while my CPU-usage is idling at away between 2 and
>>> 5 %.
>>>  At the same time I'm writing this question. So all in all a much better
>>>  situation.
>>>
>>>  My question: Is JMeter loading all 3600 threads in memory, resulting in
>>>  requiring that much memory and processor power?
>>>
>>>       
>> 3600 threads is rather a lot for one JMeter instance.
>> Too many for your test plan, as you have found.
>>
>> Note that a single thread can generate a much higher load than a
>> single user, as JMeter can issue requests much faster than a user
>> clicking links.
>>
>>
>>     
>>>  Thanks,
>>>  Abel
>>>
>>> --
>>>  View this message in context:
>>> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
>>>  Sent from the JMeter - User mailing list archive at Nabble.com.
>>>
>>>
>>>  ---------------------------------------------------------------------
>>>  To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>>>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>>
>>>
>>>       
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>
>>
>>
>>     
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by Peter Lin <wo...@gmail.com>.
Since the goal is to simulate 3600 users per hour, you don't have
enough information to do a good job. The first thing I would do is see
if there's HTTP logs. If there is, use webtrends or some other web
analysis tool to figure out how long the average session is and what
the break down looks like.  I say this for a few reasons.

If a system get 3600 users per hour, that doesn't tell us if each
session is 1 min or 10 minutes. It also doesn't tell us how many
requests they make per minute and what gets put in the session.
Running a test without this information isn't going give you a
complete picture. I've worked on superpages.com and other high volume
websites, so it crucial you have this information.

Once you know the average duration per session, average requests per
second, and the pages they hit, you'll be able to simulate 3600 users
with fewer resources. On the opposite end, if you really want to
simulate 3600 active users per hour, you'll need several machines and
use Jmeter to do distributed testing. to figure out how many systems
you'll need divide 3600 / 150 = 24 machines.

Even before you run a full blown test, I can tell you right now that
3600 active heavy users will require a lot of bandwidth. If it's an
intranet application, bandwidth won't be an issue. If it's a public
application on the internet, you'll need a lot of bandwidth. By a lot
I mean a lot more than a T1. If the server isn't hosted at a big ISP
with lots of bandwidth, the server won't be the bottleneck.

If you haven't read my articles on Jmeter and Tomcat website, i would
recommend you read them. It may help.

http://jakarta.apache.org/jmeter/usermanual/jmeter_distributed_testing_step_by_step.pdf
http://jakarta.apache.org/tomcat/articles/performance.pdf
http://cvs.apache.org/~woolfel/article.zip


peter


On Thu, Jul 10, 2008 at 7:36 AM, sebb <se...@gmail.com> wrote:
> On 10/07/2008, kirk <ki...@gmail.com> wrote:
>> Hi,
>>
>> >
>> > >
>> > > Long story short, your server does not care much about the number of
>> > > concurrent users, it is just receiving the requests, processing them
>> > > and sending out the response.
>> > >
>> >
>>
>>  I would beg do differ. For one thing if you are using cookies and sessions,
>> the server will be holding onto resources for each user. Because of this the
>> number of concurrent users can make a difference. This is a problem if you
>> just loop over 25 users using JMeter. It caches the session ID and if you
>> want a different user on each run you'll have to do something to make sure
>> that it happens as expected. Otherwise you won't get the resource
>> consumption that you'd see in a real system.
>>
>
> The Cookie Manager has a "Clear Cookies each iteration" setting.
> This can be used to force the server to generate a new cookie/session.
>
> Likewise, if the website uses login/logout these can be added to the test plan.
>
> A JMeter load test which does not generate as many sessions as
> individual users do can still be useful - if the performance is poor,
> it's very unlikely that the performance will improve when the resource
> usage is increased. And the relative page timings are likely to be the
> same, even if the absolute ones are not. Also, if the response timings
> are not consistent in such a test, that can point to server
> housekeeping issues (e.g garbage collection).
>
> I would suggest setting the number of JMeter threads to be the maximum
> expected number of concurrent active sessions, and use timers etc to
> set the throughput to the target throughput.
>
> Add cookie clearing/logins as needed to simulate the actual user numbers.
>
> However you should probably start with lower numbers, especially if
> you are testing against a live server ;-)
>
>>  Thanks for the links though. I might add a shameless plug for
>> www.javaperformancetuning.com.
>>
>>  Regards,
>>  Kirk
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by sebb <se...@gmail.com>.
On 10/07/2008, kirk <ki...@gmail.com> wrote:
> Hi,
>
> >
> > >
> > > Long story short, your server does not care much about the number of
> > > concurrent users, it is just receiving the requests, processing them
> > > and sending out the response.
> > >
> >
>
>  I would beg do differ. For one thing if you are using cookies and sessions,
> the server will be holding onto resources for each user. Because of this the
> number of concurrent users can make a difference. This is a problem if you
> just loop over 25 users using JMeter. It caches the session ID and if you
> want a different user on each run you'll have to do something to make sure
> that it happens as expected. Otherwise you won't get the resource
> consumption that you'd see in a real system.
>

The Cookie Manager has a "Clear Cookies each iteration" setting.
This can be used to force the server to generate a new cookie/session.

Likewise, if the website uses login/logout these can be added to the test plan.

A JMeter load test which does not generate as many sessions as
individual users do can still be useful - if the performance is poor,
it's very unlikely that the performance will improve when the resource
usage is increased. And the relative page timings are likely to be the
same, even if the absolute ones are not. Also, if the response timings
are not consistent in such a test, that can point to server
housekeeping issues (e.g garbage collection).

I would suggest setting the number of JMeter threads to be the maximum
expected number of concurrent active sessions, and use timers etc to
set the throughput to the target throughput.

Add cookie clearing/logins as needed to simulate the actual user numbers.

However you should probably start with lower numbers, especially if
you are testing against a live server ;-)

>  Thanks for the links though. I might add a shameless plug for
> www.javaperformancetuning.com.
>
>  Regards,
>  Kirk
>
>
> >
> > >  So basically, what you are emulating is
> > > number of different HTTP Sampler calls per second. With JMeter, you
> > > could run those Samplers more frequently, i.e. simulate more users
> > > with less threads. That is, if you configure everything right. And if
> > > you loop those threads, you don't have to spawn a new one for every
> > > new run through the user model.
> > >
> > > Regards,
> > > Andrey
> > >
> > > If you loop some threads which are sending out the requests much
> > > faster than real users, and if you configure those threads right, the
> > > generated load will be the same as the one generated by more you could
> > > generate the same load as many of those real users with some large
> > > thinking time do.
> > > On Thu, Jul 10, 2008 at 10:44 AM, Abel MacAdam <ab...@gmail.com>
> > > wrote:
> > >
> > >
> > > > Peter and Sebb,
> > > >
> > > > Thanks for your reply.
> > > >
> > > > How would you emulate:
> > > > "During peak hours we get a maximum of 3600 requests per hour."
> > > > and
> > > > "Each step in the sales process may cost a maximum of 1 second"
> > > >
> > > > I think the second request is not possible to emulate, as it depends
> on
> > > > the
> > > > webserver and traffic on the Internet, not on JMeter.
> > > >
> > > > The transaction I need to test consists of 6 pages. Different pages
> where
> > > > you need to fill in personal data. Compare it with entering your
> personal
> > > > data
> > > > when you buy something at Amazon.
> > > >
> > > > Should I add "think" time at each page, so the "user" I emulate has
> the
> > > > time to enter information? 10 Seconds per page where you need to enter
> > > > something? That makes a transaction time of 20 seconds (two pages
> where
> > > > data needs to be entered).
> > > >
> > > > 1 Does that make 6 requests in 20 seconds?
> > > > 2 Should I multiply that with 600, to get 3600 requests?
> > > > or
> > > > 3a Should I multiply that with 180 to get 3600 seconds? (eg repeat 180
> > > > times)
> > > > and
> > > > 3b  Should I use 4 users (3,333) to get from 180 to 600 requests?
> > > >
> > > > Eventually I used 25 threads with a ramp up of 25 seconds, to be
> repeated
> > > > indefinitely. I observed that the server had problems (response code
> 502)
> > > > responding to the load.
> > > >
> > > > Abel
> > > >
> > > >
> > > > sebb-2-2 wrote:
> > > >
> > > >
> > > > > On 09/07/2008, Abel MacAdam <ab...@gmail.com> wrote:
> > > > >
> > > > >
> > > > > >  Hi,
> > > > > >
> > > > > >  Today I tried to emulate "3600 users in one hour" by making a
> test
> > > > > > where
> > > > > >  3600 threads where started in 3600 seconds. I observed that the
> load
> > > > > > in
> > > > > > one
> > > > > >  of my CPU's went to 100 %, and that JMeter stopped responding.
> > > > > > Eventually I
> > > > > >  killed this process, and restarted it with 25 threads, to be
> started
> > > > > > within
> > > > > >  25 seconds, and looping forever, but now for 3600 seconds (one
> hour).
> > > > > > Now
> > > > > >  the test is running, while my CPU-usage is idling at away between
> 2
> > > > > > and
> > > > > > 5 %.
> > > > > >  At the same time I'm writing this question. So all in all a much
> > > > > > better
> > > > > >  situation.
> > > > > >
> > > > > >  My question: Is JMeter loading all 3600 threads in memory,
> resulting
> > > > > > in
> > > > > >  requiring that much memory and processor power?
> > > > > >
> > > > > >
> > > > > >
> > > > > 3600 threads is rather a lot for one JMeter instance.
> > > > > Too many for your test plan, as you have found.
> > > > >
> > > > > Note that a single thread can generate a much higher load than a
> > > > > single user, as JMeter can issue requests much faster than a user
> > > > > clicking links.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > >  Thanks,
> > > > > >  Abel
> > > > > >
> > > > > > --
> > > > > >  View this message in context:
> > > > > >
> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
> > > > > >  Sent from the JMeter - User mailing list archive at Nabble.com.
> > > > > >
> > > > > >
> > > > > >
> ---------------------------------------------------------------------
> > > > > >  To unsubscribe, e-mail:
> jmeter-user-unsubscribe@jakarta.apache.org
> > > > > >  For additional commands, e-mail:
> jmeter-user-help@jakarta.apache.org
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> jmeter-user-unsubscribe@jakarta.apache.org
> > > > > For additional commands, e-mail:
> jmeter-user-help@jakarta.apache.org
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > --
> > > > View this message in context:
> > > >
> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18376917.html
> > > > Sent from the JMeter - User mailing list archive at Nabble.com.
> > > >
> > > >
> > > >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> jmeter-user-unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail:
> jmeter-user-help@jakarta.apache.org
> > > >
> > > >
> > > >
> > > >
> > >
> > > --
> > > diem perdidi
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> jmeter-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail:
> jmeter-user-help@jakarta.apache.org
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
>
>
> ---------------------------------------------------------------------
>  To unsubscribe, e-mail:
> jmeter-user-unsubscribe@jakarta.apache.org
>  For additional commands, e-mail:
> jmeter-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by kirk <ki...@gmail.com>.
Hi,
>>
>> Long story short, your server does not care much about the number of
>> concurrent users, it is just receiving the requests, processing them
>> and sending out the response.

I would beg do differ. For one thing if you are using cookies and 
sessions, the server will be holding onto resources for each user. 
Because of this the number of concurrent users can make a difference. 
This is a problem if you just loop over 25 users using JMeter. It caches 
the session ID and if you want a different user on each run you'll have 
to do something to make sure that it happens as expected. Otherwise you 
won't get the resource consumption that you'd see in a real system.

Thanks for the links though. I might add a shameless plug for 
www.javaperformancetuning.com.

Regards,
Kirk
>>  So basically, what you are emulating is
>> number of different HTTP Sampler calls per second. With JMeter, you
>> could run those Samplers more frequently, i.e. simulate more users
>> with less threads. That is, if you configure everything right. And if
>> you loop those threads, you don't have to spawn a new one for every
>> new run through the user model.
>>
>> Regards,
>> Andrey
>>
>> If you loop some threads which are sending out the requests much
>> faster than real users, and if you configure those threads right, the
>> generated load will be the same as the one generated by more you could
>> generate the same load as many of those real users with some large
>> thinking time do.
>> On Thu, Jul 10, 2008 at 10:44 AM, Abel MacAdam <ab...@gmail.com>
>> wrote:
>>     
>>> Peter and Sebb,
>>>
>>> Thanks for your reply.
>>>
>>> How would you emulate:
>>> "During peak hours we get a maximum of 3600 requests per hour."
>>> and
>>> "Each step in the sales process may cost a maximum of 1 second"
>>>
>>> I think the second request is not possible to emulate, as it depends on
>>> the
>>> webserver and traffic on the Internet, not on JMeter.
>>>
>>> The transaction I need to test consists of 6 pages. Different pages where
>>> you need to fill in personal data. Compare it with entering your personal
>>> data
>>> when you buy something at Amazon.
>>>
>>> Should I add "think" time at each page, so the "user" I emulate has the
>>> time to enter information? 10 Seconds per page where you need to enter
>>> something? That makes a transaction time of 20 seconds (two pages where
>>> data needs to be entered).
>>>
>>> 1 Does that make 6 requests in 20 seconds?
>>> 2 Should I multiply that with 600, to get 3600 requests?
>>> or
>>> 3a Should I multiply that with 180 to get 3600 seconds? (eg repeat 180
>>> times)
>>> and
>>> 3b  Should I use 4 users (3,333) to get from 180 to 600 requests?
>>>
>>> Eventually I used 25 threads with a ramp up of 25 seconds, to be repeated
>>> indefinitely. I observed that the server had problems (response code 502)
>>> responding to the load.
>>>
>>> Abel
>>>
>>>
>>> sebb-2-2 wrote:
>>>       
>>>> On 09/07/2008, Abel MacAdam <ab...@gmail.com> wrote:
>>>>         
>>>>>  Hi,
>>>>>
>>>>>  Today I tried to emulate "3600 users in one hour" by making a test
>>>>> where
>>>>>  3600 threads where started in 3600 seconds. I observed that the load
>>>>> in
>>>>> one
>>>>>  of my CPU's went to 100 %, and that JMeter stopped responding.
>>>>> Eventually I
>>>>>  killed this process, and restarted it with 25 threads, to be started
>>>>> within
>>>>>  25 seconds, and looping forever, but now for 3600 seconds (one hour).
>>>>> Now
>>>>>  the test is running, while my CPU-usage is idling at away between 2
>>>>> and
>>>>> 5 %.
>>>>>  At the same time I'm writing this question. So all in all a much
>>>>> better
>>>>>  situation.
>>>>>
>>>>>  My question: Is JMeter loading all 3600 threads in memory, resulting
>>>>> in
>>>>>  requiring that much memory and processor power?
>>>>>
>>>>>           
>>>> 3600 threads is rather a lot for one JMeter instance.
>>>> Too many for your test plan, as you have found.
>>>>
>>>> Note that a single thread can generate a much higher load than a
>>>> single user, as JMeter can issue requests much faster than a user
>>>> clicking links.
>>>>
>>>>
>>>>         
>>>>>  Thanks,
>>>>>  Abel
>>>>>
>>>>> --
>>>>>  View this message in context:
>>>>> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
>>>>>  Sent from the JMeter - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>>  ---------------------------------------------------------------------
>>>>>  To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>>>>>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>>>>
>>>>>
>>>>>           
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>>>> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>>>
>>>>
>>>>
>>>>         
>>> --
>>> View this message in context:
>>> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18376917.html
>>> Sent from the JMeter - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>>
>>>
>>>       
>>
>> -- 
>> diem perdidi
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>
>>
>>
>>     
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by Abel MacAdam <ab...@gmail.com>.
Thanks all for your replies. It gives me much to ponder about.

Abel.


Andrey Beznogov wrote:
> 
> Hello,
> 
> there are some very nice (and short too ;)) publications on that
> topic. You could start by reading "Part 4: Modeling Groups of Users"
> of the "User Experience, not Metrics" Series.
> 
> PDF file of that article http://www.perftestplus.com/resources/UENM4.pdf
> Home page of the series (scroll down, its somewhere in the second half
> of the page) http://www.perftestplus.com/pubs.htm
> JMeter Wiki with some interesting links
> http://wiki.apache.org/jakarta-jmeter/
> 
> Long story short, your server does not care much about the number of
> concurrent users, it is just receiving the requests, processing them
> and sending out the response. So basically, what you are emulating is
> number of different HTTP Sampler calls per second. With JMeter, you
> could run those Samplers more frequently, i.e. simulate more users
> with less threads. That is, if you configure everything right. And if
> you loop those threads, you don't have to spawn a new one for every
> new run through the user model.
> 
> Regards,
> Andrey
> 
> If you loop some threads which are sending out the requests much
> faster than real users, and if you configure those threads right, the
> generated load will be the same as the one generated by more you could
> generate the same load as many of those real users with some large
> thinking time do.
> On Thu, Jul 10, 2008 at 10:44 AM, Abel MacAdam <ab...@gmail.com>
> wrote:
>>
>> Peter and Sebb,
>>
>> Thanks for your reply.
>>
>> How would you emulate:
>> "During peak hours we get a maximum of 3600 requests per hour."
>> and
>> "Each step in the sales process may cost a maximum of 1 second"
>>
>> I think the second request is not possible to emulate, as it depends on
>> the
>> webserver and traffic on the Internet, not on JMeter.
>>
>> The transaction I need to test consists of 6 pages. Different pages where
>> you need to fill in personal data. Compare it with entering your personal
>> data
>> when you buy something at Amazon.
>>
>> Should I add "think" time at each page, so the "user" I emulate has the
>> time to enter information? 10 Seconds per page where you need to enter
>> something? That makes a transaction time of 20 seconds (two pages where
>> data needs to be entered).
>>
>> 1 Does that make 6 requests in 20 seconds?
>> 2 Should I multiply that with 600, to get 3600 requests?
>> or
>> 3a Should I multiply that with 180 to get 3600 seconds? (eg repeat 180
>> times)
>> and
>> 3b  Should I use 4 users (3,333) to get from 180 to 600 requests?
>>
>> Eventually I used 25 threads with a ramp up of 25 seconds, to be repeated
>> indefinitely. I observed that the server had problems (response code 502)
>> responding to the load.
>>
>> Abel
>>
>>
>> sebb-2-2 wrote:
>>>
>>> On 09/07/2008, Abel MacAdam <ab...@gmail.com> wrote:
>>>>
>>>>  Hi,
>>>>
>>>>  Today I tried to emulate "3600 users in one hour" by making a test
>>>> where
>>>>  3600 threads where started in 3600 seconds. I observed that the load
>>>> in
>>>> one
>>>>  of my CPU's went to 100 %, and that JMeter stopped responding.
>>>> Eventually I
>>>>  killed this process, and restarted it with 25 threads, to be started
>>>> within
>>>>  25 seconds, and looping forever, but now for 3600 seconds (one hour).
>>>> Now
>>>>  the test is running, while my CPU-usage is idling at away between 2
>>>> and
>>>> 5 %.
>>>>  At the same time I'm writing this question. So all in all a much
>>>> better
>>>>  situation.
>>>>
>>>>  My question: Is JMeter loading all 3600 threads in memory, resulting
>>>> in
>>>>  requiring that much memory and processor power?
>>>>
>>>
>>> 3600 threads is rather a lot for one JMeter instance.
>>> Too many for your test plan, as you have found.
>>>
>>> Note that a single thread can generate a much higher load than a
>>> single user, as JMeter can issue requests much faster than a user
>>> clicking links.
>>>
>>>
>>>>  Thanks,
>>>>  Abel
>>>>
>>>> --
>>>>  View this message in context:
>>>> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
>>>>  Sent from the JMeter - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>>  ---------------------------------------------------------------------
>>>>  To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>>>>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18376917.html
>> Sent from the JMeter - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>
>>
> 
> 
> 
> -- 
> diem perdidi
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18379363.html
Sent from the JMeter - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by Andrey Beznogov <an...@googlemail.com>.
Hello,

there are some very nice (and short too ;)) publications on that
topic. You could start by reading "Part 4: Modeling Groups of Users"
of the "User Experience, not Metrics" Series.

PDF file of that article http://www.perftestplus.com/resources/UENM4.pdf
Home page of the series (scroll down, its somewhere in the second half
of the page) http://www.perftestplus.com/pubs.htm
JMeter Wiki with some interesting links http://wiki.apache.org/jakarta-jmeter/

Long story short, your server does not care much about the number of
concurrent users, it is just receiving the requests, processing them
and sending out the response. So basically, what you are emulating is
number of different HTTP Sampler calls per second. With JMeter, you
could run those Samplers more frequently, i.e. simulate more users
with less threads. That is, if you configure everything right. And if
you loop those threads, you don't have to spawn a new one for every
new run through the user model.

Regards,
Andrey

If you loop some threads which are sending out the requests much
faster than real users, and if you configure those threads right, the
generated load will be the same as the one generated by more you could
generate the same load as many of those real users with some large
thinking time do.
On Thu, Jul 10, 2008 at 10:44 AM, Abel MacAdam <ab...@gmail.com> wrote:
>
> Peter and Sebb,
>
> Thanks for your reply.
>
> How would you emulate:
> "During peak hours we get a maximum of 3600 requests per hour."
> and
> "Each step in the sales process may cost a maximum of 1 second"
>
> I think the second request is not possible to emulate, as it depends on the
> webserver and traffic on the Internet, not on JMeter.
>
> The transaction I need to test consists of 6 pages. Different pages where
> you need to fill in personal data. Compare it with entering your personal
> data
> when you buy something at Amazon.
>
> Should I add "think" time at each page, so the "user" I emulate has the
> time to enter information? 10 Seconds per page where you need to enter
> something? That makes a transaction time of 20 seconds (two pages where
> data needs to be entered).
>
> 1 Does that make 6 requests in 20 seconds?
> 2 Should I multiply that with 600, to get 3600 requests?
> or
> 3a Should I multiply that with 180 to get 3600 seconds? (eg repeat 180
> times)
> and
> 3b  Should I use 4 users (3,333) to get from 180 to 600 requests?
>
> Eventually I used 25 threads with a ramp up of 25 seconds, to be repeated
> indefinitely. I observed that the server had problems (response code 502)
> responding to the load.
>
> Abel
>
>
> sebb-2-2 wrote:
>>
>> On 09/07/2008, Abel MacAdam <ab...@gmail.com> wrote:
>>>
>>>  Hi,
>>>
>>>  Today I tried to emulate "3600 users in one hour" by making a test where
>>>  3600 threads where started in 3600 seconds. I observed that the load in
>>> one
>>>  of my CPU's went to 100 %, and that JMeter stopped responding.
>>> Eventually I
>>>  killed this process, and restarted it with 25 threads, to be started
>>> within
>>>  25 seconds, and looping forever, but now for 3600 seconds (one hour).
>>> Now
>>>  the test is running, while my CPU-usage is idling at away between 2 and
>>> 5 %.
>>>  At the same time I'm writing this question. So all in all a much better
>>>  situation.
>>>
>>>  My question: Is JMeter loading all 3600 threads in memory, resulting in
>>>  requiring that much memory and processor power?
>>>
>>
>> 3600 threads is rather a lot for one JMeter instance.
>> Too many for your test plan, as you have found.
>>
>> Note that a single thread can generate a much higher load than a
>> single user, as JMeter can issue requests much faster than a user
>> clicking links.
>>
>>
>>>  Thanks,
>>>  Abel
>>>
>>> --
>>>  View this message in context:
>>> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
>>>  Sent from the JMeter - User mailing list archive at Nabble.com.
>>>
>>>
>>>  ---------------------------------------------------------------------
>>>  To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>>>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18376917.html
> Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>



-- 
diem perdidi

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by Abel MacAdam <ab...@gmail.com>.
Peter and Sebb,

Thanks for your reply.

How would you emulate:
"During peak hours we get a maximum of 3600 requests per hour."
and
"Each step in the sales process may cost a maximum of 1 second"

I think the second request is not possible to emulate, as it depends on the 
webserver and traffic on the Internet, not on JMeter. 

The transaction I need to test consists of 6 pages. Different pages where 
you need to fill in personal data. Compare it with entering your personal
data 
when you buy something at Amazon.

Should I add "think" time at each page, so the "user" I emulate has the
time to enter information? 10 Seconds per page where you need to enter
something? That makes a transaction time of 20 seconds (two pages where
data needs to be entered). 

1 Does that make 6 requests in 20 seconds?
2 Should I multiply that with 600, to get 3600 requests?
or
3a Should I multiply that with 180 to get 3600 seconds? (eg repeat 180 
times)
and
3b  Should I use 4 users (3,333) to get from 180 to 600 requests?

Eventually I used 25 threads with a ramp up of 25 seconds, to be repeated
indefinitely. I observed that the server had problems (response code 502)
responding to the load.

Abel


sebb-2-2 wrote:
> 
> On 09/07/2008, Abel MacAdam <ab...@gmail.com> wrote:
>>
>>  Hi,
>>
>>  Today I tried to emulate "3600 users in one hour" by making a test where
>>  3600 threads where started in 3600 seconds. I observed that the load in
>> one
>>  of my CPU's went to 100 %, and that JMeter stopped responding.
>> Eventually I
>>  killed this process, and restarted it with 25 threads, to be started
>> within
>>  25 seconds, and looping forever, but now for 3600 seconds (one hour).
>> Now
>>  the test is running, while my CPU-usage is idling at away between 2 and
>> 5 %.
>>  At the same time I'm writing this question. So all in all a much better
>>  situation.
>>
>>  My question: Is JMeter loading all 3600 threads in memory, resulting in
>>  requiring that much memory and processor power?
>>
> 
> 3600 threads is rather a lot for one JMeter instance.
> Too many for your test plan, as you have found.
> 
> Note that a single thread can generate a much higher load than a
> single user, as JMeter can issue requests much faster than a user
> clicking links.
> 
> 
>>  Thanks,
>>  Abel
>>
>> --
>>  View this message in context:
>> http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
>>  Sent from the JMeter - User mailing list archive at Nabble.com.
>>
>>
>>  ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18376917.html
Sent from the JMeter - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: 3600 Threads with a rampup of 3600 seconds?

Posted by sebb <se...@gmail.com>.
On 09/07/2008, Abel MacAdam <ab...@gmail.com> wrote:
>
>  Hi,
>
>  Today I tried to emulate "3600 users in one hour" by making a test where
>  3600 threads where started in 3600 seconds. I observed that the load in one
>  of my CPU's went to 100 %, and that JMeter stopped responding. Eventually I
>  killed this process, and restarted it with 25 threads, to be started within
>  25 seconds, and looping forever, but now for 3600 seconds (one hour). Now
>  the test is running, while my CPU-usage is idling at away between 2 and 5 %.
>  At the same time I'm writing this question. So all in all a much better
>  situation.
>
>  My question: Is JMeter loading all 3600 threads in memory, resulting in
>  requiring that much memory and processor power?
>

3600 threads is rather a lot for one JMeter instance.
Too many for your test plan, as you have found.

Note that a single thread can generate a much higher load than a
single user, as JMeter can issue requests much faster than a user
clicking links.


>  Thanks,
>  Abel
>
> --
>  View this message in context: http://www.nabble.com/3600-Threads-with-a-rampup-of-3600-seconds--tp18363108p18363108.html
>  Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org