activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Davies <rajdav...@gmail.com>
Subject Re: Topic and Queue performances
Date Mon, 15 Jan 2007 20:15:56 GMT
The big difference between topics and queues is that for queues, if  
the messages have a persistent delivery mode, they are always added  
to the message store. This is only true for topics if a durable  
subscriber exists and is interested in that topic.

By default, the message store used is the journal, which uses a jdbc  
store for its long term storage.

cheers,

Rob

On 15 Jan 2007, at 19:39, James Strachan wrote:

> Are you positive you are using like for like - i.e. persistent
> messages for both queues and topics?
>
> You might also wanna try out using our maven based performance test
> harness which makes it easy to test out your environment - it might be
> worth seeing if your JMS code gets wildly different results which
> could indicate some issue in how you are using JMS...
>
> http://incubator.apache.org/activemq/activemq-performance-module- 
> users-manual.html
>
>
> On 1/15/07, Sebastien Pennec <sebastien@qos.ch> wrote:
>> 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 <sebastien@qos.ch> 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
>> >> sebastien@qos.ch
>> >>
>> >> Logback: The reliable, generic, fast and flexible logging  
>> framework
>> >> for Java.
>> >> http://logback.qos.ch/
>> >>
>> >
>> >
>>
>> --
>> Sébastien Pennec
>> sebastien@qos.ch
>>
>> Logback: The reliable, generic, fast and flexible logging  
>> framework for Java.
>> http://logback.qos.ch/
>>
>
>
> -- 
>
> James
> -------
> http://radio.weblogs.com/0112098/


Mime
View raw message