JVisualVM's CPU sampler, which attaches to the JVM via the JMX port (open
by default in ActiveMQ), would be my recommended way to do the profiling
(sampling, in this case) that Chris mentioned.

Tim

Tim

On Tue, Feb 19, 2019, 4:39 AM Christopher Shannon <
christopher.l.shan...@gmail.com wrote:

> 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 <franco...@ebshk.com> 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:
> > http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
> >
>

Reply via email to