9

I know about the size limit for the message (4MB), but is there a limit to the queue size? Best practice limit maybe?

2 Answers 2

11

"Best practice limit maybe?"

One good test is to see how long it takes for a system to restart and become operational again. So you may want to have {{picks number out of air}} 100Gbytes of messages, for example, as a maximum limit but 100Gbytes could take {{picks another number out of air}} 30 minutes to reload. That may be way outside your SLA.

So:

  1. Decide what your down-time SLA for the system is
  2. Work out how many messages in storage would be needed to break SLA on restart
  3. Work out how many messages the system can actually store
  4. Choose lower of the two.
4

Yes, of course there is a limit.

You can find details here.

However, if your consumers consume messages at the same rate as producers produce, then you dont have to worry about the memory limit etc.

As far as my experience, the queue capacity depends on the machine and not that large compared to ActiveMQ or RabbitMQ

4
  • True, queue capacity varies from machine to machine as the constraint on maximum size is available kernel memory (used for indexing the messages). Interested to know what ActiveMQ or RabbitMQ use instead. Commented Dec 5, 2011 at 20:11
  • OK i used MSQM, activemq and rabbitmq, msmq didnt scale very good for me, compared to activemq and rabbitmq. Also, activemq and rabbitmq has much more functionality than msmq.
    – DarthVader
    Commented Dec 5, 2011 at 20:38
  • @JohnBreakwell, did you ever get around to that blog post?
    – Marcus
    Commented Jun 18, 2015 at 13:45
  • Nope. I moved technologies and lost focus. Commented Jun 19, 2015 at 15:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.