activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jose Luna <>
Subject Re: Large number of queues (HowTo)
Date Sat, 23 May 2009 19:54:28 GMT

> Any chance we can get a hold of your test code.
We use stomp, so our tests are very short python scripts using
They are simple scripts that create thousands of queues from a single connection, send messages
to those queues, and also send messages to composite queues representing large numbers of
actual queues.  

> 2. I see that most most posts about working setups are NOT Centos, in fact I
> have seen two posts that use Ubuntu successfully. Am I to change my linux
> distro?
I am not aware of any problems with CentOS5 and ActiveMQ (although I am certainly no expert
with ActiveMQ).  Our production machine is RHEL5.  We test on Ubuntu for convenience, but
we also test on a dev server running CentOS5 to emulate the production environment.  We've
encountered no problems on CentOS5 or RHEL5.

> 3. How many is "many" connections or machines that connect to the server? At
> more than fifty we see issues.

We have not done any tests with a significantly large number of
connections, I only included that information in the HowTo because I encountered it in my
research and it is relevant to the resource usage discussed.

> 4. How would having a total of 256k ram effect this?

I can't really attest to the consequences of 256 MB of ram.  The memory usage will vary widely
depending on the use case.  If this is what you have available on the heap, it should be entirely
sufficient for thousands of queues  (if you follow the instructions to limit the number of
threads).  ActiveMQ is pretty memory intensive, but there are  lot of ways to tune it.   I
think the best thing to do is run some tests that follow your particular use case.   If you
find that you have memory-related issues, read the doc on memory usage I linked to in my original
post.  Also, you should really read through all of the relevant elements and properties in
the activemq config schema (  A couple of examples
off the top of my head (that may not be relevant to you): 
- You can set how many messages are pulled from persistent storage and put into memory at
a time, when a queue is being read.
- If you're using composite queues, you can choose whether a copy of the message is made when
forwarding the message.


View raw message