activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bilgin Ibryam <bibr...@gmail.com>
Subject Re: Optimal memory configuration
Date Tue, 28 Jan 2014 14:19:00 GMT
Thanks Christian, that's all I needed.

Cheers,


On 27 January 2014 16:56, Christian Posta <christian.posta@gmail.com> wrote:

> Hi Bilgin
> See inilne...
>
> On Fri, Jan 24, 2014 at 5:29 AM, Bilgin Ibryam <bibryam@gmail.com> wrote:
> > Hi all,
> >
> > I have couple of questions regarding memory configurations. I read the
> docs
> > and couple of blog posts, but still cannot figure it out completely.
> >
> > In my case I have only persistent queues.
> >
> > 1. For memoryUsage, the docs say: "for non-persistent messages, specifies
> > the maximum amount of memory used to hold the messages." Does it applies
> in
> > anyway for persistent messages too or to whole broker memory used too? Or
> > is it only for non-persistent as the docs suggests?
> Persistent messages that are cached in the broker when using
> StoreCursor do count against the memory limit. These messages are
> cached with the assumption that they are about to be dispatched to
> consumers and its faster to pull from memory than pull directly from
> disk to do the dispatch. By default, the highWaterMark set for these
> cursors is 70%. So until 70% of memory of the queue is used, it will
> continue to cache messages.
>
> >
> > 2. For persistent messages, I have memoryLimit set per destination basis.
> > Do I need to consider what is the memoryUsage set in this case? I mean is
> > there any relation between memoryUsage and memoryLimit, like memoryUsage
> >=
> > memoryLimit x number_of_queues
> >
> Yes, the relationship you noted is more or less correct. If you
> specify X for a system wide limits  and you have N queues, then you
> want to keep the sum of N queues' memory limits lower than overall
> system limits.
>
> > 3. If I have 3gb for the broker JVM, can I assume it is safe to use 70%
> of
> > that for the queues, for example by giving 200mb per destination in total
> > for 10 queues. And leave the remaining 30% (1gb) for the broker
> > threads/consumers and so on.
> This is probably okay, but there are no hard and fast rules on this
> part. Just depends on threads, objects, are you running anything else
> in the JVM, etc, etc.
>
> >
> > Thanks
> >
> >
> >
> > --
> > Bilgin Ibryam
> >
> > Apache Camel & Apache OFBiz committer
> > Blog: ofbizian.com
> > Twitter: @bibryam <https://twitter.com/bibryam>
> >
> > Author of Instant Apache Camel Message Routing
> > http://www.amazon.com/dp/1783283475
>
>
>
> --
> Christian Posta
> http://www.christianposta.com/blog
> twitter: @christianposta
>



-- 
Bilgin Ibryam

Apache Camel & Apache OFBiz committer
Blog: ofbizian.com
Twitter: @bibryam <https://twitter.com/bibryam>

Author of Instant Apache Camel Message Routing
http://www.amazon.com/dp/1783283475

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