activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Posta <christian.po...@gmail.com>
Subject Re: Understanding memoryLimits with flow control and systemUsage limits.
Date Tue, 11 Jun 2013 19:55:29 GMT
So it looks like its working as expected. In both cases (producer flow
control on or off) you won't reach your memory limits because the pending
cursor is spooling to disk. So looks sane to me.

On Tuesday, June 11, 2013, Jesus Roncero wrote:

> Hi,
>
> Any extra info on this?
>
> Regards
>
>
> On Fri, Jun 7, 2013 at 12:11 PM, Jesus Roncero <jesus@we7.com<javascript:;>>
> wrote:
>
> > On Thu, Jun 06, 2013 at 08:34:03AM -0700, Christian Posta wrote:
> > > When you have producer flow control enabled, your producers should
> block
> > > when you've reached the memory limits (50mb). If you can write a unit
> > test
> > > that shows otherwise, I would gladly take a look.
> >
> > Hi Christian,
> >
> > again thanks for your help.
> >
> > I have been testing it a bit with different settings, and I'm sort of
> > getting
> > the same behaviour.
> >
> > I have two different test configurations:
> >
> > 1) Flow control enabled (by default) on all queues and topics. 50 Mb
> memory
> > Limit, and no cursors. Temp storage set to 500 Mb.
> > http://pastebin.com/Ma7b4B6V
> >
> > 2) Flow control disabled and cursors set to use files and temporary
> > storage.
> > Again, memory is 50Mb per queue, Temp storage set to 500 Mb.
> > http://pastebin.com/3t9p2NqX
> >
> > 3) a simple producer writen in python, based on stomp.py:
> > http://pastebin.com/1Uge3mvC
> >
> > Basically, with these configs, I'm seeing the same behaviour, the
> producer
> > starts inserting messages, on around the 36 Mb mark, it starts using the
> > temporary file storage, and then it pauses on the 483 message, saying the
> > temp storate is full. 36, being ~ 70% of 50.
> >
> > Always with a log like:
> > [2013-06-07 12:07:23,975] INFO ActiveMQ Transport:
> tcp:///10.0.9.124:40507org.apache.activemq.broker.region.Queue -
> > Usage(default:temp:queue://testqueue:temp) percentUsage=96%,
> > usage=536510464, limit=524288000,
> > percentUsageMinDelta=1%;Parent:Usage(default:temp) percentUsage=102%,
> > usage=536510464, limit=524288000, percentUsageMinDelta=1%: Temp Store is
> > Full (96% of 524288000). Stopping producer
> > (ID:mneme-54444-1370603136982-2:1:-1:1) to prevent flooding
> > queue://testqueue. See
> > http://activemq.apache.org/producer-flow-control.html for more info
> > (blocking for: 91s)
> >
> >
> > So, anyway, what I'm trying to do is to have a sane config that at least
> is
> > not going to explode, with both flow control enabled and flow control
> > disabled. If temporary usage via the cursors is supposed to work
> > like this, then it's all good. It might also be that I'm not really
> > understanding how this is supposed to work, in that case feel free to
> RTFM
> > me
> > ;-).
> >
> > I don't know if this is what you want as a unit test, but let me know
> > otherwise, and I'll procure whatever is necessary.
> >
> > Thanks again with your help.
> >
> > --
> > JRF
> >
>
>
>
> --
> Jesús Roncero
>


-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

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