ActiveMQ thread usage

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ActiveMQ thread usage

Jason Dillon
How accurate is this document wrt ActiveMQ 5.5.1?  Is there a better place to find relevant details about thread usage/meaning/configuration?

http://fusesource.com/wiki/display/ProdInfo/Understanding+the+Threads+Allocated+in+ActiveMQ

I see threads with names like:

ActiveMQ Transport tcp:...
ActiveMQ Transport Server: tcp...
ActiveMQ Transport Server Thread Handler: tcp...
ActiveMQConnection[ID...] Scheduler
ActiveMQ Task-*
ActiveMQ Session Task-*
InactivityMonitor ReadCheck
InactivityMonitor WriteCheck
InactivityMonitor Async Task: *
ActiveMQ Broker[...] Scheduler
BrokerService[...] Task-*
ActiveMQ Data File Writer
ActiveMQ Journal Checkpoint Worker
KahaDB Scheduler

How do these threads line up to those described in this document?  What are the other threads for?  I know that some are obviously for Kaha persistence, and some of these are for the client side transport vs. server-side transport, but I'd rather not assume what they are for.

I didn't find much documentation about what these threads are or how to configure the pools which are used.  Most google search end up pointing back at this document referenced above.  Its a very good document, except that its not clear how the threads in the document relate to actually thread names used at runtime.

Can anyone please help line up the thread names to their use and how they relate to the thread usage explanation in this document?

Thanks,

--jason
Reply | Threaded
Open this post in threaded view
|

Re: ActiveMQ thread usage

Torsten Mielke-2
Hello,

That diagram does not list all threads but only those threads that are used for dispatching msgs.
There are additional threads used in ActiveMQ.
By default there is one thread used for each destination and one thread for each client connection.
Plus a few extra threads for KahaDB and other features.

On tuning the brokers threading configuration, I suggest the ActiveMQ Tuning Guide from FuseSource.com: http://fusesource.com/docs/broker/5.5/tuning/front.html. However it requires upfront registration.

Hope this helps as a starting point.

Torsten Mielke
[hidden email]
[hidden email]



On Nov 29, 2011, at 1:29 AM, Jason Dillon wrote:

> How accurate is this document wrt ActiveMQ 5.5.1?  Is there a better place to find relevant details about thread usage/meaning/configuration?
>
> http://fusesource.com/wiki/display/ProdInfo/Understanding+the+Threads+Allocated+in+ActiveMQ
>
> I see threads with names like:
>
> ActiveMQ Transport tcp:...
> ActiveMQ Transport Server: tcp...
> ActiveMQ Transport Server Thread Handler: tcp...
> ActiveMQConnection[ID...] Scheduler
> ActiveMQ Task-*
> ActiveMQ Session Task-*
> InactivityMonitor ReadCheck
> InactivityMonitor WriteCheck
> InactivityMonitor Async Task: *
> ActiveMQ Broker[...] Scheduler
> BrokerService[...] Task-*
> ActiveMQ Data File Writer
> ActiveMQ Journal Checkpoint Worker
> KahaDB Scheduler
>
> How do these threads line up to those described in this document?  What are the other threads for?  I know that some are obviously for Kaha persistence, and some of these are for the client side transport vs. server-side transport, but I'd rather not assume what they are for.
>
> I didn't find much documentation about what these threads are or how to configure the pools which are used.  Most google search end up pointing back at this document referenced above.  Its a very good document, except that its not clear how the threads in the document relate to actually thread names used at runtime.
>
> Can anyone please help line up the thread names to their use and how they relate to the thread usage explanation in this document?
>
> Thanks,
>
> --jason