[activemq-user] Jmeter tests - I don't get it

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[activemq-user] Jmeter tests - I don't get it

Michael Burton
I'm trying to understand what the Jmeter tests are doing.  I'm new to
ActiveMQ, JMS, and JMeter, although I've read everything I could find
on the first two.

I'm using:
  ActiveMQ                      activemq-3.2.1.zip
  ActiveMQ Jmeter         activemq-jmeter-3.1-SNAPSHOT.zip


Let's look at the sample testcase
http://svn.activemq.org/trunk/activemq/jmeter/resource/TestPlans/Topic_Persistent_Durable_P1_S1_T1.jmx
 This is a very simple test using a single producer and a single
consumer and a single thread.  It's a durable persistent
AUTO_ACKNOWLEDGE (i believe) topic, so I would expect that every
message that gets produced should be consumed exactly once (assuming
no unusual errors).

This is not the case.

What's happening is that the consumer is consuming more, sometimes
much more, than the producer is producing.  One recent run showed 5015
consumed to 5001 sent, and another run (with slightly different
config) showed 7078 consumed against 3551 sent.  This is according to
the bottom of the View Producer/Consumer Results GUI pane.

I checked in the source to see what acknowledgement mode was being
used.  It appears that ServerConnectionFactory is using
AUTO_ACKNOWLEDGE, which should result in rare duplicate messages only
in the event of failure (as I understand it).  I don't see any errors
on my activemq console, log, or jmeter console.

The broker, producer, and consumer are all being run on one machine.
ActiveMQ is being run with the standard activemq.xml file, with the
exception that I've disabled journaling (due to
https://jira.logicblaze.com/jira/browse/AMQ-309) and switched to
mysql.  Note that I was having the same problem using derby and
journaling, so it's not likely to be related to my choice of
persistence.


Why are so many more messages being consumed than produced?  Have I
missed something obvious?  I want to try to get some performance
metrics done for our proposed ActiveMQ architecture, but don't
understand what JMeter is trying to tell me.

Perplexed,
Mike
Reply | Threaded
Open this post in threaded view
|

Re: [activemq-user] Jmeter tests - I don't get it

Joseph Dennis Gapuz
Hi! Michael,

The ActiveMQ JMeter Performance Test
(http://activemq.codehaus.org/JMeter+Performance+Tests)  Producer would
be producing messages as fast as it could.
Take note of the following settings :

    * Duration (min) - the duration of the test.
    * Ramp Up (min) - the time in which the Producer will reach it's
      stable/peak state.

Let's say given a Test Duration (min) of 5 mins, the test would run for
5 mins. If it's set at the Producer, the Producer sampler would be
sending messages as fast as it could for 5 mins.
The Ramp Up (min) period would be the period you set in which you want
to measure the messages sent/receive. Example given a Test Duration of 5
mins and a Ramp Up of 1 min,
the data that is going to be gathered would be from the 2 mins to 4 mins
of the Test Duration. Thus the Ramp Up period would be set at the
beginning and before the end of the whole
Test Duration.


 |____|____|____|____|
 1      2       3       4      5   Test Duration (mins)
          |-----------|    Actual Test Measurement
     
In our Performance Test we measured the number of messages consumed by
the Consumer Sampler.

Please see http://activemq.codehaus.org/JMeter+Performance+Tests in
setting the Test.

btw the default Ramp Up period would be 1 min. We've set a Ramp Up
period to give way for the system to startup.

Thank you for your interest in ActiveMQ.

Joseph

Michael Burton wrote:

>I'm trying to understand what the Jmeter tests are doing.  I'm new to
>ActiveMQ, JMS, and JMeter, although I've read everything I could find
>on the first two.
>
>I'm using:
>  ActiveMQ                      activemq-3.2.1.zip
>  ActiveMQ Jmeter         activemq-jmeter-3.1-SNAPSHOT.zip
>
>
>Let's look at the sample testcase
>http://svn.activemq.org/trunk/activemq/jmeter/resource/TestPlans/Topic_Persistent_Durable_P1_S1_T1.jmx
> This is a very simple test using a single producer and a single
>consumer and a single thread.  It's a durable persistent
>AUTO_ACKNOWLEDGE (i believe) topic, so I would expect that every
>message that gets produced should be consumed exactly once (assuming
>no unusual errors).
>
>This is not the case.
>
>What's happening is that the consumer is consuming more, sometimes
>much more, than the producer is producing.  One recent run showed 5015
>consumed to 5001 sent, and another run (with slightly different
>config) showed 7078 consumed against 3551 sent.  This is according to
>the bottom of the View Producer/Consumer Results GUI pane.
>
>I checked in the source to see what acknowledgement mode was being
>used.  It appears that ServerConnectionFactory is using
>AUTO_ACKNOWLEDGE, which should result in rare duplicate messages only
>in the event of failure (as I understand it).  I don't see any errors
>on my activemq console, log, or jmeter console.
>
>The broker, producer, and consumer are all being run on one machine.
>ActiveMQ is being run with the standard activemq.xml file, with the
>exception that I've disabled journaling (due to
>https://jira.logicblaze.com/jira/browse/AMQ-309) and switched to
>mysql.  Note that I was having the same problem using derby and
>journaling, so it's not likely to be related to my choice of
>persistence.
>
>
>Why are so many more messages being consumed than produced?  Have I
>missed something obvious?  I want to try to get some performance
>metrics done for our proposed ActiveMQ architecture, but don't
>understand what JMeter is trying to tell me.
>
>Perplexed,
>Mike
>
>  
>