Hello James,

I understand very well that there are many factors that influence such tests. In my setup, I've tried to make the environment for both Queue and Topic as similar as possible, not to have the best results possible but to have results that can be compared.

As far as I know, the default config for Active MQ does not use JDBC, or does it? Also, on my tests, it's the Queue that is 40 times slower that the Topic.

My goal was more to have your opinion on the fact that, using the same environment, sending messages to a Queue is *much* slower that sending to a Topic. Does that make you thing that I've done something wrong, or is it something that can be expected?

I am currently checking out the source code of ActiveMQ to run some tests as described on your website[1] so I'll see how far my figures are from your tests.

Thanks for the answer,

Sébastien

[1] http://incubator.apache.org/activemq/jmeter-performance-tests.html


James Strachan wrote:
In general, it all depends

http://incubator.apache.org/activemq/how-fast-is-activemq.html

if using JDBC persistence, there is a bit more work required to store
a topic message than a queue (since topics need to maintain a list of
messages each consumer requires, whereas a queue is logically
equivalent to a single row insert). Also obviously, if there are more
than one consumer, then the broker has more work to do with topics.

But like many things, it all depends on what you are doing, how you're
doing it and what your environment is. YMMV


On 1/15/07, Sebastien Pennec <[EMAIL PROTECTED]> wrote:
Hello,

I checked on the list archive, but couldn't find the answer to my current situation,
so here I am :)

I've launched an ActiveMQ server on my machine, with the default configuration stuff. The only thing I've added is the jndi.properties file that I've found in the
documentation.

This jndi config file helps create an example Queue and an example Topic. I can easily connect message producers and consumers to the Queue and Topic. The server, as well as the two message producers and the two message consumers, are on my local machine.

When I send messages to the Topic, I observe that the time it takes to send the message is about 0.25 milliseconds. When I send messages to the Queue, the figure goes up to 10 milliseconds. These figures are the average time that is observed when
sending 10'000 messages.
They are modified by the presence or absence of a consumer: it takes approximately
10% less time when there is no consumer.

Is it a normal behavior? I expected the performance between Topic and Queue to be
closer than that.

Thanks for your help,

Sébastien

--
Sébastien Pennec
[EMAIL PROTECTED]

Logback: The reliable, generic, fast and flexible logging framework for Java.
http://logback.qos.ch/




--
Sébastien Pennec
[EMAIL PROTECTED]

Logback: The reliable, generic, fast and flexible logging framework for Java.
http://logback.qos.ch/

Reply via email to