You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Thinh Nguyen <th...@hotmail.com> on 2005/05/04 12:03:13 UTC

Concurrent users

Hi all,

I've started to use JMeter for the last 2 weeks or so. I am trying to do 
some performance testing with 1 user multiple times (eg 20) and 20 
concurrent users at 1 time.

The results that I received for the two scenarios are too much different. An 
average of a user 20 times is around 5 seconds, whereas, average for 20 
concurrent users at 1 time is around 80 seconds.

I understand that concurrent users will be slower, but I don't expect it to 
be that much slower. I am not sure if this problem is part of the tool or 
it's with the code.

I even tried to run the JDBC testing, and the average result are still a lot 
different from 1 user * 20 times compared to 20 users at 1 time.

Could anyone please kindly explain to me or direct me to somewhere that I 
can read/reduce the performance for concurrent users? I am facing the hurdle 
at the moment, please kindly help.

Thanks & Regards,
Thinh

_________________________________________________________________
REALESTATE: biggest buy/rent/share listings   
http://ninemsn.realestate.com.au


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


Memory leak? (was: Concurrent users)

Posted by sebb <se...@gmail.com>.
On 5/4/05, Thinh Nguyen <th...@hotmail.com> wrote:
> 
> The machine where WAS is running has 2G of RAM, 2 processors, and while
> running the test memory was increased from 555MB to around 1.5G and then
> stable. The worst part is the memory usage stayed at 1.5G and didn't drop
> down, looks like a memory leak somewhere in the app (given that it's J2EE
> app, but this is another issue).

If the memory remains stable, it's less likely to be a leak.
With a leak the memory usage would normally keep growing.

It could be that the application has released the memory, but the OS
or JVM hasn't (yet)bothered to reclaim it.

S.

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


Re: Concurrent users

Posted by Peter Lin <wo...@gmail.com>.
things that come to mind are queries that result in full table scans.
generally, a sql query with like or contains often results in full
table scan. queries that do text scanning or parsing often results
full table scan.

since you're using TOAD and oracle, one thing to keep in mind is the
semiphore settings. Depending on which version of Oracle you're
running, you may need to tune the connection pooling setting and
semiphore settings.  The semiphore setting especially. If you use the
create database wizard and chose a database for web application, it
usually isn't tuned for moderate concurrency. 20 concurrent isn't
light, but it's not what most Oracle DBA's consider moderate either. 
Most experienced Oracle DBA's I've known deal with hundreds of
concurrent queries on really big servers and thousands of concurrent
connections.

since you're using TOAD, have you tried toad's sql profiling capabilities?

peter


On 5/4/05, Thinh Nguyen <th...@hotmail.com> wrote:
> 
> Thanks for your kindly responses to both Sebbaz and Peter.
> 
> 80 seconds were the average of the 20 concurrent users. The first few
> threads finished in approximately 30 seconds, some were between 70, 80
> seconds, some were more..
> 
> I came to the same conclusion, however, the question I'd like to ask is that
> given that the query can be bad, the performance for 1 user x 20 times
> average is almost 10 less than 20 concurrent users while using the same
> query.
> 
> When I used SQL PLUS to test the query, the results were displayed after 2
> seconds. Similar results were achieved by TOAD. This query was then copied
> to JDBC sampler, and the results were mentioned as above.
> 
> The machine where WAS is running has 2G of RAM, 2 processors, and while
> running the test memory was increased from 555MB to around 1.5G and then
> stable. The worst part is the memory usage stayed at 1.5G and didn't drop
> down, looks like a memory leak somewhere in the app (given that it's J2EE
> app, but this is another issue). The client that runs JMeter is V880 (unix
> machine), it's very powerful box. I've also run JMeter on 1G of RAM, Windows
> XP with JDK1.5. Similar results were achieved.
> 
> I am really running out of ideas, please kindly provide further help.
> 
> Thanks & regards,
> Thinh
> 
> >From: sebb <se...@gmail.com>
> >Reply-To: sebb <se...@gmail.com>
> >To: JMeter Users List <jm...@jakarta.apache.org>
> >Subject: Re: Concurrent users
> >Date: Wed, 4 May 2005 11:15:14 +0100
> >
> >One way to get some idea if JMeter is coping with the load is to
> >replace the HTTP/JDBC samplers with JavaTest samplers (using suitable
> >sleep times).
> >
> >If JMeter can't cope on your system with these samplers, it's unlikely
> >to be able to cope with the original samplers.
> >
> >Either way, be sure to have a look at the resource usage on the system
> >(CPU, memory) to see how close you are to the limits.
> >
> >Also, if your test is quite short, beware of startup/shutdown
> >overheads. These can seriously affect throughput calculations.
> >
> >To improve JMeter maximum capability:
> >- Use as few Listeners as possible.
> >- use non-GUI mode with no Listeners (one is added automatically).
> >
> >S.
> >On 5/4/05, Thinh Nguyen <th...@hotmail.com> wrote:
> > > Hi all,
> > >
> > > I've started to use JMeter for the last 2 weeks or so. I am trying to do
> > > some performance testing with 1 user multiple times (eg 20) and 20
> > > concurrent users at 1 time.
> > >
> > > The results that I received for the two scenarios are too much
> >different. An
> > > average of a user 20 times is around 5 seconds, whereas, average for 20
> > > concurrent users at 1 time is around 80 seconds.
> > >
> > > I understand that concurrent users will be slower, but I don't expect it
> >to
> > > be that much slower. I am not sure if this problem is part of the tool
> >or
> > > it's with the code.
> > >
> > > I even tried to run the JDBC testing, and the average result are still a
> >lot
> > > different from 1 user * 20 times compared to 20 users at 1 time.
> > >
> > > Could anyone please kindly explain to me or direct me to somewhere that
> >I
> > > can read/reduce the performance for concurrent users? I am facing the
> >hurdle
> > > at the moment, please kindly help.
> > >
> > > Thanks & Regards,
> > > Thinh
> > >
> > > _________________________________________________________________
> > > REALESTATE: biggest buy/rent/share listings
> > > http://ninemsn.realestate.com.au
> > >
> > > ---------------------------------------------------------------------
> > > 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
> >
> 
> _________________________________________________________________
> REALESTATE: biggest buy/rent/share listings
> http://ninemsn.realestate.com.au
> 
> ---------------------------------------------------------------------
> 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: Concurrent users

Posted by Michael Stover <ms...@apache.org>.
Be aware that when JMeter tests SQL, it retrieves every row and creates
an object for every column of every row, so it is really testing not
only the query, but the time to retrieve the data and convert it to java
objects.

To discover if JMeter is providing accurate timing when simulating
multiple users, I always suggest running a separate JMeter instance on a
separate machine with the same test plan, but only one user.  Run the
JMeter with 20 users and simultaneously run the other JMeter with 1
user, and see whether their reported timings are in sync, or at least
within a reasonable error range.  For this to work, the test has to be
run through a few times (else you might just be measuring a spike, which
can vary greatly from "normal" usage results).

-Mike

On Wed, 2005-05-04 at 12:37 +0000, Thinh Nguyen wrote:
> Thanks for your kindly responses to both Sebbaz and Peter.
> 
> 80 seconds were the average of the 20 concurrent users. The first few 
> threads finished in approximately 30 seconds, some were between 70, 80 
> seconds, some were more..
> 
> I came to the same conclusion, however, the question I'd like to ask is that 
> given that the query can be bad, the performance for 1 user x 20 times 
> average is almost 10 less than 20 concurrent users while using the same 
> query.
> 
> When I used SQL PLUS to test the query, the results were displayed after 2 
> seconds. Similar results were achieved by TOAD. This query was then copied 
> to JDBC sampler, and the results were mentioned as above.
> 
> The machine where WAS is running has 2G of RAM, 2 processors, and while 
> running the test memory was increased from 555MB to around 1.5G and then 
> stable. The worst part is the memory usage stayed at 1.5G and didn't drop 
> down, looks like a memory leak somewhere in the app (given that it's J2EE 
> app, but this is another issue). The client that runs JMeter is V880 (unix 
> machine), it's very powerful box. I've also run JMeter on 1G of RAM, Windows 
> XP with JDK1.5. Similar results were achieved.
> 
> I am really running out of ideas, please kindly provide further help.
> 
> Thanks & regards,
> Thinh
> 
> >From: sebb <se...@gmail.com>
> >Reply-To: sebb <se...@gmail.com>
> >To: JMeter Users List <jm...@jakarta.apache.org>
> >Subject: Re: Concurrent users
> >Date: Wed, 4 May 2005 11:15:14 +0100
> >
> >One way to get some idea if JMeter is coping with the load is to
> >replace the HTTP/JDBC samplers with JavaTest samplers (using suitable
> >sleep times).
> >
> >If JMeter can't cope on your system with these samplers, it's unlikely
> >to be able to cope with the original samplers.
> >
> >Either way, be sure to have a look at the resource usage on the system
> >(CPU, memory) to see how close you are to the limits.
> >
> >Also, if your test is quite short, beware of startup/shutdown
> >overheads. These can seriously affect throughput calculations.
> >
> >To improve JMeter maximum capability:
> >- Use as few Listeners as possible.
> >- use non-GUI mode with no Listeners (one is added automatically).
> >
> >S.
> >On 5/4/05, Thinh Nguyen <th...@hotmail.com> wrote:
> > > Hi all,
> > >
> > > I've started to use JMeter for the last 2 weeks or so. I am trying to do
> > > some performance testing with 1 user multiple times (eg 20) and 20
> > > concurrent users at 1 time.
> > >
> > > The results that I received for the two scenarios are too much 
> >different. An
> > > average of a user 20 times is around 5 seconds, whereas, average for 20
> > > concurrent users at 1 time is around 80 seconds.
> > >
> > > I understand that concurrent users will be slower, but I don't expect it 
> >to
> > > be that much slower. I am not sure if this problem is part of the tool 
> >or
> > > it's with the code.
> > >
> > > I even tried to run the JDBC testing, and the average result are still a 
> >lot
> > > different from 1 user * 20 times compared to 20 users at 1 time.
> > >
> > > Could anyone please kindly explain to me or direct me to somewhere that 
> >I
> > > can read/reduce the performance for concurrent users? I am facing the 
> >hurdle
> > > at the moment, please kindly help.
> > >
> > > Thanks & Regards,
> > > Thinh
> > >
> > > _________________________________________________________________
> > > REALESTATE: biggest buy/rent/share listings
> > > http://ninemsn.realestate.com.au
> > >
> > > ---------------------------------------------------------------------
> > > 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
> >
> 
> _________________________________________________________________
> REALESTATE: biggest buy/rent/share listings   
> http://ninemsn.realestate.com.au
> 
> 
> ---------------------------------------------------------------------
> 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: Concurrent users

Posted by Thinh Nguyen <th...@hotmail.com>.
Thanks for your kindly responses to both Sebbaz and Peter.

80 seconds were the average of the 20 concurrent users. The first few 
threads finished in approximately 30 seconds, some were between 70, 80 
seconds, some were more..

I came to the same conclusion, however, the question I'd like to ask is that 
given that the query can be bad, the performance for 1 user x 20 times 
average is almost 10 less than 20 concurrent users while using the same 
query.

When I used SQL PLUS to test the query, the results were displayed after 2 
seconds. Similar results were achieved by TOAD. This query was then copied 
to JDBC sampler, and the results were mentioned as above.

The machine where WAS is running has 2G of RAM, 2 processors, and while 
running the test memory was increased from 555MB to around 1.5G and then 
stable. The worst part is the memory usage stayed at 1.5G and didn't drop 
down, looks like a memory leak somewhere in the app (given that it's J2EE 
app, but this is another issue). The client that runs JMeter is V880 (unix 
machine), it's very powerful box. I've also run JMeter on 1G of RAM, Windows 
XP with JDK1.5. Similar results were achieved.

I am really running out of ideas, please kindly provide further help.

Thanks & regards,
Thinh

>From: sebb <se...@gmail.com>
>Reply-To: sebb <se...@gmail.com>
>To: JMeter Users List <jm...@jakarta.apache.org>
>Subject: Re: Concurrent users
>Date: Wed, 4 May 2005 11:15:14 +0100
>
>One way to get some idea if JMeter is coping with the load is to
>replace the HTTP/JDBC samplers with JavaTest samplers (using suitable
>sleep times).
>
>If JMeter can't cope on your system with these samplers, it's unlikely
>to be able to cope with the original samplers.
>
>Either way, be sure to have a look at the resource usage on the system
>(CPU, memory) to see how close you are to the limits.
>
>Also, if your test is quite short, beware of startup/shutdown
>overheads. These can seriously affect throughput calculations.
>
>To improve JMeter maximum capability:
>- Use as few Listeners as possible.
>- use non-GUI mode with no Listeners (one is added automatically).
>
>S.
>On 5/4/05, Thinh Nguyen <th...@hotmail.com> wrote:
> > Hi all,
> >
> > I've started to use JMeter for the last 2 weeks or so. I am trying to do
> > some performance testing with 1 user multiple times (eg 20) and 20
> > concurrent users at 1 time.
> >
> > The results that I received for the two scenarios are too much 
>different. An
> > average of a user 20 times is around 5 seconds, whereas, average for 20
> > concurrent users at 1 time is around 80 seconds.
> >
> > I understand that concurrent users will be slower, but I don't expect it 
>to
> > be that much slower. I am not sure if this problem is part of the tool 
>or
> > it's with the code.
> >
> > I even tried to run the JDBC testing, and the average result are still a 
>lot
> > different from 1 user * 20 times compared to 20 users at 1 time.
> >
> > Could anyone please kindly explain to me or direct me to somewhere that 
>I
> > can read/reduce the performance for concurrent users? I am facing the 
>hurdle
> > at the moment, please kindly help.
> >
> > Thanks & Regards,
> > Thinh
> >
> > _________________________________________________________________
> > REALESTATE: biggest buy/rent/share listings
> > http://ninemsn.realestate.com.au
> >
> > ---------------------------------------------------------------------
> > 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
>

_________________________________________________________________
REALESTATE: biggest buy/rent/share listings   
http://ninemsn.realestate.com.au


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


Re: Concurrent users

Posted by sebb <se...@gmail.com>.
One way to get some idea if JMeter is coping with the load is to
replace the HTTP/JDBC samplers with JavaTest samplers (using suitable
sleep times).

If JMeter can't cope on your system with these samplers, it's unlikely
to be able to cope with the original samplers.

Either way, be sure to have a look at the resource usage on the system
(CPU, memory) to see how close you are to the limits.

Also, if your test is quite short, beware of startup/shutdown
overheads. These can seriously affect throughput calculations.

To improve JMeter maximum capability:
- Use as few Listeners as possible.
- use non-GUI mode with no Listeners (one is added automatically).

S.
On 5/4/05, Thinh Nguyen <th...@hotmail.com> wrote:
> Hi all,
> 
> I've started to use JMeter for the last 2 weeks or so. I am trying to do
> some performance testing with 1 user multiple times (eg 20) and 20
> concurrent users at 1 time.
> 
> The results that I received for the two scenarios are too much different. An
> average of a user 20 times is around 5 seconds, whereas, average for 20
> concurrent users at 1 time is around 80 seconds.
> 
> I understand that concurrent users will be slower, but I don't expect it to
> be that much slower. I am not sure if this problem is part of the tool or
> it's with the code.
> 
> I even tried to run the JDBC testing, and the average result are still a lot
> different from 1 user * 20 times compared to 20 users at 1 time.
> 
> Could anyone please kindly explain to me or direct me to somewhere that I
> can read/reduce the performance for concurrent users? I am facing the hurdle
> at the moment, please kindly help.
> 
> Thanks & Regards,
> Thinh
> 
> _________________________________________________________________
> REALESTATE: biggest buy/rent/share listings
> http://ninemsn.realestate.com.au
> 
> ---------------------------------------------------------------------
> 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: Concurrent users

Posted by Peter Lin <wo...@gmail.com>.
20 concurrent isn't much load for jmeter to handle. think of it this way.

the load increased by 20x, but the time increase is less than that. 20
concurrent users finishing in 80 seconds isn't bad. Or is the 80
seconds per user?  Since the jdbc results showed similar results,
chances are the queries could use some tuning.

peter


On 5/4/05, Thinh Nguyen <th...@hotmail.com> wrote:
> Hi all,
> 
> I've started to use JMeter for the last 2 weeks or so. I am trying to do
> some performance testing with 1 user multiple times (eg 20) and 20
> concurrent users at 1 time.
> 
> The results that I received for the two scenarios are too much different. An
> average of a user 20 times is around 5 seconds, whereas, average for 20
> concurrent users at 1 time is around 80 seconds.
> 
> I understand that concurrent users will be slower, but I don't expect it to
> be that much slower. I am not sure if this problem is part of the tool or
> it's with the code.
> 
> I even tried to run the JDBC testing, and the average result are still a lot
> different from 1 user * 20 times compared to 20 users at 1 time.
> 
> Could anyone please kindly explain to me or direct me to somewhere that I
> can read/reduce the performance for concurrent users? I am facing the hurdle
> at the moment, please kindly help.
> 
> Thanks & Regards,
> Thinh
> 
> _________________________________________________________________
> REALESTATE: biggest buy/rent/share listings
> http://ninemsn.realestate.com.au
> 
> ---------------------------------------------------------------------
> 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