You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Kevin Burton (JIRA)" <ji...@apache.org> on 2015/02/23 20:53:11 UTC

[jira] [Created] (AMQ-5610) Queue GC takes 100ms per queue when advisory support enabled

Kevin Burton created AMQ-5610:
---------------------------------

             Summary: Queue GC takes 100ms per queue when advisory support enabled
                 Key: AMQ-5610
                 URL: https://issues.apache.org/jira/browse/AMQ-5610
             Project: ActiveMQ
          Issue Type: Bug
            Reporter: Kevin Burton


When advisory support is enabled, queue GC, takes 10-100x longer per queue when running large numbers of queues.

Internally, my JProfiler runs show that this is due to excessive remove() on CopyOnWriteArrayList and Timer.stop() during removeDestination.

Here's a screenshot of the profile.

http://i.imgur.com/I1jesZz.jpg

Perhaps this can be rewritten to use a concurrent hashmap or other data structure which doesn't require a full copy.  

This would speed things up dramatically.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)