You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Cameron Zemek <gr...@capsicumcorp.com> on 2003/01/23 07:48:21 UTC

Totally confused

I'm trying to load-test my web application. I am using a thread group
with 100 threads, ramp-up: 0secs, repeat: 10. When I ran this test the
GUI becomes non-responsive and the CPU and memory usage go to 100%
utilization. This is on a 1.2GHz CPU with 378MB (with less then 200MB
used with normal apps opened). 

Using top I get:
  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
12633 grom      20   0  147M 147M 16188 R    79.7 39.1   2:11 java
13544 root      14   0  1220 1220   816 R    11.9  0.3   0:02 top
 2451 grom       9   0  7224 6104  4172 S     1.8  1.5   1:06
gnome-terminal
 1425 root       6 -10  281M  20M  7912 S <   1.3  5.3   7:30 X
12639 grom       9   0  147M 147M 16188 S     0.4 39.1   0:03 java
13432 grom       9   0  147M 147M 16188 S     0.3 39.1   0:00 java
13460 grom       9   0  148M 148M 16188 S     0.3 39.2   0:00 java
13481 grom       9   0  148M 148M 16188 S     0.3 39.2   0:00 java
13213 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
13216 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
13227 apache     9   0  4648 4648  4472 S     0.1  1.2   0:00 httpd
13248 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
13414 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
13417 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
13419 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
13421 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
13423 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java

I added "-Xmx256m -Xss2m" options to the jmeter startup script. But I
had similar results before this. What is going on??? I have seen in the
archive people posting results such as "I've executed 100 threads in a
single thread group on a Dell laptop with 256M Ram and a 800Mhz
processor with no problems."

Olav Groehn posted 
>>>>>>>>>>>>>>>>>>>>>>>
Usually a PC can handle quite a big number of threads without problems
but think about some other effects that might result in wrong
measurements of server response times:

A good idea is to monitor the workload of your CPU. If it is around 100%
it might be to much meaning your CPU is overloaded and the measured
response times might be incorrect.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

I also look at using distributed testing. I run rmiregistry as follows
$ export
CLASSPATH=/usr/java/jakarta-jmeter/lib/ext/ApacheJMeter_core.jar:/usr/java/jakarta-jmeter/lib/jorphan.jar:/usr/java/jakarta-jmeter/lib/logkit-1.0.1.jar

$ rmiregistry

then in another terminal I start the jmeter-server script. Then from a
different machine I start the client, but when I try to remote start the
test plan it doesn't seem to do anything. Yet, the access logs indicate
that it was accessed. What going on here???









--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Totally confused

Posted by Cameron Zemek <gr...@capsicumcorp.com>.
On Thu, 2003-01-23 at 16:48, Cameron Zemek wrote:

[snip]

I can't believe it. I got remote testing working, and it give accurate
results for 100 threads with 0sec ramp-up. Remote testing wasn't working
because the client machine was reporting the wrong ip address because of
an old entry in /etc/hosts . Don't know why it was doing this, but I've
got it working none the less. By the way, is it okay to run the
jmeter-server on the machine you are testing??? 

Mike Stover posted "No, you should never run JMeter on the same machine
as the server you are testing. When I say JMeter server, I mean an
instance of JMeter running in "server mode".  In version 1.7.1, JMeter
is run in server mode with "jmeter -s".  In 1.7, you use the
jmeter-server script file."

But it didn't seem to use much CPU, when I used remote testing. What
does the JMeter server do?


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Totally confused

Posted by Mike Stover <ms...@apache.org>.
On 23 Jan 2003 at 17:49, Cameron Zemek wrote:

> [snip] The jmeter-server script was running
> on the web server. Is this okay? How does remote testing with JMeter
> work??

JMeter simulates a client.  Clients don't run their browser right on your server - and 
certainly 100 clients don't do that.  If you run JMeter on your app server, that is in 
effect what you are simulating, which makes no sense.   Run JMeter on a different 
machine.

Regarding how does it work - the JMeter remote "server" runs the test script and 
reports results back to the gui.  Since Java GUI's are very resource intensive, the 
fact that the JMeter "server" doesn't run any gui means it doesn't put such a load 
on it's cpu and memory.

--
Michael Stover
mstover1@apache.org
Yahoo IM: mstover_ya
ICQ: 152975688
AIM: mstover777

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Totally confused

Posted by gr...@capsicumcorp.com.
> On 23/01/2003 6:49 PM, "Cameron Zemek" <gr...@capsicumcorp.com> wrote:
>
>> On Thu, 2003-01-23 at 17:37, Scott Eade wrote:
>>> On 23/01/2003 6:18 PM, "Cameron Zemek" <gr...@capsicumcorp.com> wrote:
>>>
>>>> On Thu, 2003-01-23 at 17:02, Scott Eade wrote:
>>>>> 1. Set a ramp-up figure of greater than 0s - to start 1 thread per
>>>>> second use 100s.
>>>>
>>>> Then the thread finishes before the next one starts. I want 100
>>>> threads running at the same time.
>>> How short are your scripts?  I would imagine the scripts would have
>>> to be more than 1 second long (including delays) in order to be an
>>> accurate reflection of real users utilizing the system.
> I also meant to say that you can make your script run longer by
> increasing the number of loops.  If you only have a single request in
> your script then set the loop count to something like 500.

I have it looping 100 times, but I going to try to do stability tests by
running it forever and see how long it stays up for.

>>
>> Short, I was load testing the server not an application. I was
>> requesting a 94byte HTML document (Hello World). I got an average of
>> 73ms which is less then a second. The jmeter-server script was running
>> on the web server. Is this okay? How does remote testing with JMeter
>> work??
> I am not quite sure what you are hoping to achieve by testing using a
> dummy document like you are.  If all you are trying to do is throw load
> at a server then fine, but don't quote the response times as anything
> meaningful (in your example the web server will most likely have the
> page cached and will serve it up with pretty much no processing).  This
> is nothing like how a real application would behave and it would be a
> big mistake IMHO to attempt to relate your test results with how an
> application might perform.

I was only using it as a ball park figure. I was wondering if I could
handle a 2MBit internet connection. Which (assuming they use 1000KBit =
1MBit - yeah I know it should be 1024, but look at hard drives - and 8Bit
= 1 Byte) is 250KBytes / Second. If I want each connection to have at
least 2KBytes/sec I can have 250/2 = 125 concurrent connections. Depending
on user usage patterns (I have no idea on this) we can have 1,250 users
logged in at once. This simple test handled over 1,000 request per second.
Therefore it seems highly likely that it could handle 125 concurrent
requests. Can anyone give me there experience with the amount of bandwidth
needed. I live in Australia and it is very hard to get over 2MBit without
having a large company wallet.

Thanks,
Cameron Zemek



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Totally confused

Posted by Scott Eade <se...@backstagetech.com.au>.
On 23/01/2003 6:49 PM, "Cameron Zemek" <gr...@capsicumcorp.com> wrote:

> On Thu, 2003-01-23 at 17:37, Scott Eade wrote:
>> On 23/01/2003 6:18 PM, "Cameron Zemek" <gr...@capsicumcorp.com> wrote:
>> 
>>> On Thu, 2003-01-23 at 17:02, Scott Eade wrote:
>>>> 1. Set a ramp-up figure of greater than 0s - to start 1 thread per second
>>>> use 100s.
>>> 
>>> Then the thread finishes before the next one starts. I want 100 threads
>>> running at the same time.
>> How short are your scripts?  I would imagine the scripts would have to be
>> more than 1 second long (including delays) in order to be an accurate
>> reflection of real users utilizing the system.
I also meant to say that you can make your script run longer by increasing
the number of loops.  If you only have a single request in your script then
set the loop count to something like 500.
> 
> Short, I was load testing the server not an application. I was
> requesting a 94byte HTML document (Hello World). I got an average of
> 73ms which is less then a second. The jmeter-server script was running
> on the web server. Is this okay? How does remote testing with JMeter
> work??
I am not quite sure what you are hoping to achieve by testing using a dummy
document like you are.  If all you are trying to do is throw load at a
server then fine, but don't quote the response times as anything meaningful
(in your example the web server will most likely have the page cached and
will serve it up with pretty much no processing).  This is nothing like how
a real application would behave and it would be a big mistake IMHO to
attempt to relate your test results with how an application might perform.

For some basic information on remote testing see:
http://nagoya.apache.org/wiki/apachewiki.cgi?JMeterFAQ

HTH,

Scott
-- 
Scott Eade
Backstage Technologies Pty. Ltd.
http://www.backstagetech.com.au
.Mac Chat/AIM: seade at mac dot com



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Totally confused

Posted by Cameron Zemek <gr...@capsicumcorp.com>.
On Thu, 2003-01-23 at 17:37, Scott Eade wrote:
> On 23/01/2003 6:18 PM, "Cameron Zemek" <gr...@capsicumcorp.com> wrote:
> 
> > On Thu, 2003-01-23 at 17:02, Scott Eade wrote:
> >> 1. Set a ramp-up figure of greater than 0s - to start 1 thread per second
> >> use 100s.
> > 
> > Then the thread finishes before the next one starts. I want 100 threads
> > running at the same time.
> How short are your scripts?  I would imagine the scripts would have to be
> more than 1 second long (including delays) in order to be an accurate
> reflection of real users utilizing the system.

Short, I was load testing the server not an application. I was
requesting a 94byte HTML document (Hello World). I got an average of
73ms which is less then a second. The jmeter-server script was running
on the web server. Is this okay? How does remote testing with JMeter
work??

> > 
> >> 2. Have you tried with a lower number of threads first - e.g. 1, 10, 30, 50,
> >> 75?
> > 
> > Yeah, it works okay at 10. Don't know the breaking point.
> Good.
> > 
> >> 3. Are there any delays in your scripts?  If there are no delays then even a
> >> fast PC can quickly become overwhelmed (I have seen as few as 20 threads bog
> >> down a reasonably fast PC).  If you include realistic simulations of user
> >> delays in your scripts you should have no problem dealing with 100 or more
> >> threads.
> > 
> > How do you add delays???
> Look in the user reference under timers.  Note that these are hierarchical
> (as opposed to sequential) elements, if you add a timer at the root of your
> test script then the delay will occur between every request.  If you want a
> delay for a specific request then add the timer as a child of the request.

So you add a timer. Cool.

> HTH,
> 
> Scott
> -- 
> Scott Eade
> Backstage Technologies Pty. Ltd.
> http://www.backstagetech.com.au
> .Mac Chat/AIM: seade at mac dot com
> 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Totally confused

Posted by Scott Eade <se...@backstagetech.com.au>.
On 23/01/2003 6:18 PM, "Cameron Zemek" <gr...@capsicumcorp.com> wrote:

> On Thu, 2003-01-23 at 17:02, Scott Eade wrote:
>> 1. Set a ramp-up figure of greater than 0s - to start 1 thread per second
>> use 100s.
> 
> Then the thread finishes before the next one starts. I want 100 threads
> running at the same time.
How short are your scripts?  I would imagine the scripts would have to be
more than 1 second long (including delays) in order to be an accurate
reflection of real users utilizing the system.
> 
>> 2. Have you tried with a lower number of threads first - e.g. 1, 10, 30, 50,
>> 75?
> 
> Yeah, it works okay at 10. Don't know the breaking point.
Good.
> 
>> 3. Are there any delays in your scripts?  If there are no delays then even a
>> fast PC can quickly become overwhelmed (I have seen as few as 20 threads bog
>> down a reasonably fast PC).  If you include realistic simulations of user
>> delays in your scripts you should have no problem dealing with 100 or more
>> threads.
> 
> How do you add delays???
Look in the user reference under timers.  Note that these are hierarchical
(as opposed to sequential) elements, if you add a timer at the root of your
test script then the delay will occur between every request.  If you want a
delay for a specific request then add the timer as a child of the request.

HTH,

Scott
-- 
Scott Eade
Backstage Technologies Pty. Ltd.
http://www.backstagetech.com.au
.Mac Chat/AIM: seade at mac dot com



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Totally confused

Posted by Cameron Zemek <gr...@capsicumcorp.com>.
On Thu, 2003-01-23 at 17:02, Scott Eade wrote:
> 1. Set a ramp-up figure of greater than 0s - to start 1 thread per second
> use 100s.

Then the thread finishes before the next one starts. I want 100 threads
running at the same time.

> 2. Have you tried with a lower number of threads first - e.g. 1, 10, 30, 50,
> 75?

Yeah, it works okay at 10. Don't know the breaking point.

> 3. Are there any delays in your scripts?  If there are no delays then even a
> fast PC can quickly become overwhelmed (I have seen as few as 20 threads bog
> down a reasonably fast PC).  If you include realistic simulations of user
> delays in your scripts you should have no problem dealing with 100 or more
> threads.

How do you add delays???

> Cheers,
> 
> Scott
> -- 
> Scott Eade
> Backstage Technologies Pty. Ltd.
> http://www.backstagetech.com.au
> .Mac Chat/AIM: seade at mac dot com
> 
> 
> On 23/01/2003 5:48 PM, "Cameron Zemek" <gr...@capsicumcorp.com> wrote:
> 
> > I'm trying to load-test my web application. I am using a thread group
> > with 100 threads, ramp-up: 0secs, repeat: 10. When I ran this test the
> > GUI becomes non-responsive and the CPU and memory usage go to 100%
> > utilization. This is on a 1.2GHz CPU with 378MB (with less then 200MB
> > used with normal apps opened).
> > 
> > Using top I get:
> > PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
> > 12633 grom      20   0  147M 147M 16188 R    79.7 39.1   2:11 java
> > 13544 root      14   0  1220 1220   816 R    11.9  0.3   0:02 top
> > 2451 grom       9   0  7224 6104  4172 S     1.8  1.5   1:06
> > gnome-terminal
> > 1425 root       6 -10  281M  20M  7912 S <   1.3  5.3   7:30 X
> > 12639 grom       9   0  147M 147M 16188 S     0.4 39.1   0:03 java
> > 13432 grom       9   0  147M 147M 16188 S     0.3 39.1   0:00 java
> > 13460 grom       9   0  148M 148M 16188 S     0.3 39.2   0:00 java
> > 13481 grom       9   0  148M 148M 16188 S     0.3 39.2   0:00 java
> > 13213 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
> > 13216 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
> > 13227 apache     9   0  4648 4648  4472 S     0.1  1.2   0:00 httpd
> > 13248 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
> > 13414 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> > 13417 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> > 13419 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> > 13421 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> > 13423 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> > 
> > I added "-Xmx256m -Xss2m" options to the jmeter startup script. But I
> > had similar results before this. What is going on??? I have seen in the
> > archive people posting results such as "I've executed 100 threads in a
> > single thread group on a Dell laptop with 256M Ram and a 800Mhz
> > processor with no problems."
> > 
> > Olav Groehn posted
> >>>>>>>>>>>>>>>>>>>>>>>>
> > Usually a PC can handle quite a big number of threads without problems
> > but think about some other effects that might result in wrong
> > measurements of server response times:
> > 
> > A good idea is to monitor the workload of your CPU. If it is around 100%
> > it might be to much meaning your CPU is overloaded and the measured
> > response times might be incorrect.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > 
> > I also look at using distributed testing. I run rmiregistry as follows
> > $ export
> > CLASSPATH=/usr/java/jakarta-jmeter/lib/ext/ApacheJMeter_core.jar:/usr/java/jak
> > arta-jmeter/lib/jorphan.jar:/usr/java/jakarta-jmeter/lib/logkit-1.0.1.jar
> > 
> > $ rmiregistry
> > 
> > then in another terminal I start the jmeter-server script. Then from a
> > different machine I start the client, but when I try to remote start the
> > test plan it doesn't seem to do anything. Yet, the access logs indicate
> > that it was accessed. What going on here???
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > --
> > To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> > For additional commands, e-mail: <ma...@jakarta.apache.org>
> > 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Totally confused

Posted by Scott Eade <se...@backstagetech.com.au>.
1. Set a ramp-up figure of greater than 0s - to start 1 thread per second
use 100s.
2. Have you tried with a lower number of threads first - e.g. 1, 10, 30, 50,
75?
3. Are there any delays in your scripts?  If there are no delays then even a
fast PC can quickly become overwhelmed (I have seen as few as 20 threads bog
down a reasonably fast PC).  If you include realistic simulations of user
delays in your scripts you should have no problem dealing with 100 or more
threads.

Cheers,

Scott
-- 
Scott Eade
Backstage Technologies Pty. Ltd.
http://www.backstagetech.com.au
.Mac Chat/AIM: seade at mac dot com


On 23/01/2003 5:48 PM, "Cameron Zemek" <gr...@capsicumcorp.com> wrote:

> I'm trying to load-test my web application. I am using a thread group
> with 100 threads, ramp-up: 0secs, repeat: 10. When I ran this test the
> GUI becomes non-responsive and the CPU and memory usage go to 100%
> utilization. This is on a 1.2GHz CPU with 378MB (with less then 200MB
> used with normal apps opened).
> 
> Using top I get:
> PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
> 12633 grom      20   0  147M 147M 16188 R    79.7 39.1   2:11 java
> 13544 root      14   0  1220 1220   816 R    11.9  0.3   0:02 top
> 2451 grom       9   0  7224 6104  4172 S     1.8  1.5   1:06
> gnome-terminal
> 1425 root       6 -10  281M  20M  7912 S <   1.3  5.3   7:30 X
> 12639 grom       9   0  147M 147M 16188 S     0.4 39.1   0:03 java
> 13432 grom       9   0  147M 147M 16188 S     0.3 39.1   0:00 java
> 13460 grom       9   0  148M 148M 16188 S     0.3 39.2   0:00 java
> 13481 grom       9   0  148M 148M 16188 S     0.3 39.2   0:00 java
> 13213 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
> 13216 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
> 13227 apache     9   0  4648 4648  4472 S     0.1  1.2   0:00 httpd
> 13248 apache     9   0  4736 4736  4520 S     0.1  1.2   0:00 httpd
> 13414 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> 13417 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> 13419 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> 13421 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> 13423 grom       9   0  147M 147M 16188 S     0.1 39.1   0:00 java
> 
> I added "-Xmx256m -Xss2m" options to the jmeter startup script. But I
> had similar results before this. What is going on??? I have seen in the
> archive people posting results such as "I've executed 100 threads in a
> single thread group on a Dell laptop with 256M Ram and a 800Mhz
> processor with no problems."
> 
> Olav Groehn posted
>>>>>>>>>>>>>>>>>>>>>>>>
> Usually a PC can handle quite a big number of threads without problems
> but think about some other effects that might result in wrong
> measurements of server response times:
> 
> A good idea is to monitor the workload of your CPU. If it is around 100%
> it might be to much meaning your CPU is overloaded and the measured
> response times might be incorrect.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> 
> I also look at using distributed testing. I run rmiregistry as follows
> $ export
> CLASSPATH=/usr/java/jakarta-jmeter/lib/ext/ApacheJMeter_core.jar:/usr/java/jak
> arta-jmeter/lib/jorphan.jar:/usr/java/jakarta-jmeter/lib/logkit-1.0.1.jar
> 
> $ rmiregistry
> 
> then in another terminal I start the jmeter-server script. Then from a
> different machine I start the client, but when I try to remote start the
> test plan it doesn't seem to do anything. Yet, the access logs indicate
> that it was accessed. What going on here???
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>