activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Shannon <>
Subject Re: Slow performance to handle over 60,000 wildcard topics with 2,000msg/s
Date Tue, 19 Feb 2019 11:27:53 GMT
The authorization plugin has to do a lot of processing as it is tracking
and checking ACLs for all of your topics (which is a ton) for every message
going through the broker and is going to eat up a lot of CPU. Your best bet
is to try and isolate which part is causing high cpu usage using a profiler
which might help someone come up with an optimization to help with the CPU
usage.  And as Justin mentioned this is open source software and a
community project and everyone is a volunteer so pull requests and patches
are always welcome if you can suggest a fix.

And Tim pointed out early on in this thread that keep in mind if you find
that the plugin is causing you trouble you are free to implement your own
authorization plugin.  The point of the plugin API is you can customize
stuff to your needs and if the plugin does not meet your performance
requirements then you can implement your own for your use case.

On Tue, Feb 19, 2019 at 1:25 AM Franco Ng <> wrote:

> I set authorizationPlugin plugin as belolw, assign "user" can create &
> publish any queues and topics.  When I publish 2,000 message/sec with
> 60,000
> wildcard topics (E.g. stock.000001), whole ActiveMQ server performance is
> down, CPU usage eat up to 50% and too many topic JMS messages are pending
> in
> ActiveMQ server.  However, I remove authorizationPlugin from activemq.xml,
> the problem is solved and CPU usage just eat up 2% and no pending JMS
> message.
>             <simpleAuthenticationPlugin anonymousAccessAllowed="false">
>                 <users>
>                     <authenticationUser username="user" password="password"
> groups="users,admins"/>
>                 </users>
>             </simpleAuthenticationPlugin>
>             <authorizationPlugin>
>                 <map>
>                     <authorizationMap>
>                         <authorizationEntries>
>                             <authorizationEntry queue=">"
> write="admins,users" read="admins,users" admin="admins,users" />
>                             <authorizationEntry topic=">"
> write="admins,users" read="admins,users" admin="admins,users" />
>                         </authorizationEntries>
>                     </authorizationMap>
>                 </map>
>             </authorizationPlugin>
> --
> Sent from:

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