activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Burton <>
Subject Re: Setting expireMessagesPeriod=0 for advisory topics improved GC performance by 2x..
Date Sat, 02 May 2015 20:40:31 GMT
Also, while this is a small performance boost in my example, this should
have a massive impact when running with large queues.  It’s calling
Timer.purge() on each queue GC and if you have a lot of queues you’re going
to have a lot of TimerTasks so this is a O(N).  It also holds a global lock
during this operation so no new queues can be created during a queue GC.

On Sat, May 2, 2015 at 12:23 PM, Kevin Burton <> wrote:

> I’m doing a bunch of performance analysis of ActiveMQ this weekend to see
> if I can improve queue creation and destruction time.  The good news is
> that there are a lot of areas of optimization.
> It looks like one is that advisory topics are created with the default
> expireMessagesPeriod (which is 30000). However, no advisory messages are
> produced with TTLs.
> I believe this is done in AdvisoryBroker.fireAdvisory
> … looking at this code, a TTL isn’t set.  So I think that it would be a
> good idea to enable expireMessagesPeriod=0 for advisory topics.
> Here’s the code if you’re interested:
> Looks like the following policyEntry works as a proof of concept.
>                     <policyEntry topic=">"
>                                  prioritizedMessages="false"
>                                  useCache="false"
>                                  maxBrowsePageSize="2147483647"
>                                  expireMessagesPeriod="0">
>                     </policyEntry>
> (I am going to constrain it for advisory topics though).
> In my test time time for GCing all my queues went from 45s to 17s.  It’s
> MUCH higher than this under production load though due threading issues.
> Are there any potential issues I might be missing here?
> If this works I might try to submit a patch to disable
> expireMessagesPeriod by default for advisory topics.
> --
> Founder/CEO
> Location: *San Francisco, CA*
> blog:
> … or check out my Google+ profile
> <>


Location: *San Francisco, CA*
… or check out my Google+ profile

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message