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/