i am also interested in the answers to this please if anyone can help, the
documentation surrounding this is a bit spartan...


dcheckoway wrote:
> 
> Thanks Gary.  So lemme toss some actual config numbers out there and
> please tell me if this makes any sense...or if I'm shooting myself in the
> foot somehow:
> 
> Destinations:
> - 1 queue with very heavy use, say 50 million messages per day
> - 1 queue with very light use, say up to 500 messages per day
> - 2 topics with very light use, say up to 500 messages per day
> 
> ACTIVEMQ_OPTS="-Xmx3072M ..."  (so 3gb heap)
> 
> My attempt to account for pretty light topic use:
>                 <policyEntry topic=">" producerFlowControl="false"
> memoryLimit="64mb">
> 
> My attempt to account for heavier queue use:
>                 <policyEntry queue=">" producerFlowControl="false"
> memoryLimit="1024mb">
> 
> And then I'll uncomment the <systemUsage> section and do this...you had
> said 70% of heap, so if heap is 3gb, let's just say 2gb...
> 
>         <systemUsage>
>             <systemUsage>
>                 <memoryUsage>
>                     <memoryUsage limit="2048 mb"/>
>                 </memoryUsage>
>             </systemUsage>
>         </systemUsage>
> 
> What do you make of all of this?  Does it look like I have a clue?  Cuz I
> don't feel like I do...  :-)
> 
> I'm guessing message size may be more critical to sizing the memoryLimit
> parameters, but I still don't fully understand what memoryLimit *IS*
> exactly.  Is that a per-queue and/or per-topic limit of how much memory
> can be allocated to any given destination of the respective type (queue or
> topic)?
> 
> Is there a way to allocate a specific memoryLimit to individual specific
> queues & topics?  That would probably be smarter in my case if such a
> thing is available.
> 
> Sorry to blast more questions at you...I'd just like to have a better
> understanding.
> 
> Thanks!
> Dan
> 
> 
> Gary Tully wrote:
>> 
>> On 2 April 2010 12:30, dcheckoway <dchecko...@gmail.com> wrote:
>>> be explicit, can I safely set <memoryUsage limit="2 gb"/> ?  If not,
>>> what's
>>> a recommended setting given -Xmx2048M?
>>>
>>> No, there are some hardcoded defaults for systemUsage think default for
>> memory is 64MB.
>> You need to take into account the expected number of destinations and
>> connections and producers/consumers as these will require memory.
>> Something like 70% of available heap is a reasonable initial gestimate.
>> 
>> 
>>> 2. On <policyEntry>, what exactly does "memoryLimit" do?  I have
>>> producerFlowControl="false", and I wasn't sure if memoryLimit only
>>> applies
>>> when producer flow control is enabled, or what?
>>>
>> 
>> That limits the amount of memory consumed by messages on that
>> destination.
>> When that limit is reached, enqueues block unless systemUsage limits are
>> reached and message are spooled to disk. With producerFlowControl, the
>> producer is blocked rather than the destination in the broker.
>> 
>>>
>>> 3. What happens if you set the <policyEntry> elements' memoryLimit to
>>> the
>>> same size as your heap and/or <memoryUsage limit>?
>>>
>> 
>> that destination can block all other destinations by consuming all of the
>> memory resources.
>> 
>> 
>>> I'd like to understand the interaction of all of these factors.  Any
>>> info
>>> you can provide would be MUCH appreciated!!!
>>>
>>> Thanks,
>>> Dan
>>> --
>>> View this message in context:
>>> http://old.nabble.com/Help-understanding-memory-usage-limits-tp28118112p28118112.html
>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> -- 
>> http://blog.garytully.com
>> 
>> Open Source Integration
>> http://fusesource.com
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Help-understanding-memory-usage-limits-tp28118112p28161952.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to