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 <dcheckoway@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.
|