activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Davies <rajdav...@gmail.com>
Subject Re: Optimising PrefetchSubscription.dispatchPending() ideas
Date Thu, 14 Feb 2008 07:35:16 GMT

On Feb 14, 2008, at 3:08 AM, David Sitsky wrote:

> Rob and I did some performance enhancements with queues so that a  
> Queue.send() call was decoupled from the dispatch processing.  In  
> the past, depending on the state of the consumers, a Queue.send()  
> call could take a significant amount of time.  We changed it so that  
> a single thread was responsible for dispatching messages, which  
> avoided a lot of lock contention.  It also meant a Queue.send()  
> returned as quickly as possible.
>
> I imagine a similar change could be done for Topics, since from what  
> I can tell, a Topic.send() call currently does its dispatch  
> processing in the same call.
>
> Cheers,
> David
>
> Jim Gomes wrote:
>> I am very interested in this set of changes.  I am currently
>> load/performance testing ActiveMQ, and am very surprised at the  
>> results.
>> Anything that can be done to speed this area is a good thing.  I  
>> have found
>> a dramatic drop in performance when adding even a single consumer,
>> especially to a Topic.  The producer to the Topic is slowed down  
>> quite a
>> bit, which was a surprise to me.  I expected that the
>> existence/non-existence or performance of a consumer would have no  
>> impact on
>> a producer, but that is not the case.  A producer is directly  
>> impacted by
>> any consumers, especially idle consumers.  An idle Topic consumer can
>> actually cause a producer to block.  As far as I have been able to  
>> determine
>> from browsing the documentation, this is by design.
>> I am looking forward to your efforts in this area.
>> Best Regards,
>> Jim
>
> -- 
> Cheers,
> David
>
> Nuix Pty Ltd
> Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280  
> 0699
> Web: http://www.nuix.com                            Fax: +61 2 9212  
> 6902


Yes - Topics next!

cheers,

Rob

Mime
View raw message