You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Mike Kelley <mk...@rearden.com> on 2008/03/21 21:15:57 UTC
Re: Optimising PrefetchSubscription.dispatchPending() ideas
Hi David,
I'm new to ActiveMQ and unfamiliar with the code (albeit w/experience in
JMS), so forgive me if this is a silly question: do the performance
issues/fixes discussed affect non-durable subscriptions (w/non-persistent
messages) as well?
Mike
David Sitsky-2 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
>
--
View this message in context: http://www.nabble.com/Optimising-PrefetchSubscription.dispatchPending%28%29-ideas-tp15359726s2354p16207231.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
Re: Optimising PrefetchSubscription.dispatchPending() ideas
Posted by David Sitsky <si...@nuix.com>.
Hi Mike,
If you are talking about non-persistent messages for queues, then yes,
the performance should be much better. If you are talking about topics
- that is another story. My application was primarily queue-based, so I
wasn't concerned with the performance of topics.
Cheers,
David
Mike Kelley wrote:
> Hi David,
>
> I'm new to ActiveMQ and unfamiliar with the code (albeit w/experience in
> JMS), so forgive me if this is a silly question: do the performance
> issues/fixes discussed affect non-durable subscriptions (w/non-persistent
> messages) as well?
>
> Mike
>
>
> David Sitsky-2 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
>>
>
--
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