qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marnie McCormack" <marnie.mccorm...@googlemail.com>
Subject Re: Java M3 Qpid broker memory consumption
Date Tue, 04 Nov 2008 11:26:44 GMT
Hi,

There's currently not a way to set a hard limit for the Java Broker, though
you can configure threshold alerts. In the future, we're looking to provide
producer flow control/broker overflow protection but we're not there yet.

In general, slow consumers are an issue and since you're using an
InMemoryMessageStore you will see this kind of issue if your producers are
much faster than your consumers.

It wouldn't be too difficult (until the broker features are added) to
potentially throttle your publication (in your client app) once the broker
queue thresholds are reached. In your virutalhosts.xml file you can specify
thresholds as default across all queues (inc temp afaik) for a given host
i.e.

<queues>
                <!-- The properties configured here will be applied as
defaults to all -->
                <!-- queues subsequently defined unless explicitly
overridden -->
                <exchange>amq.direct</exchange>
                <!-- Set threshold values for queue monitor alerting to log
-->
                <maximumQueueDepth>4235264</maximumQueueDepth>  <!-- 4Mb -->
                <maximumMessageSize>2117632</maximumMessageSize> <!-- 2Mb
-->
                <maximumMessageAge>600000</maximumMessageAge>  <!-- 10 mins
-->

....
<queues/>

Are you sue that your application model is correct - that is a very high
number of unconsumed messages i.e. are you expecting to hold this amount in
memory ?

Hth,
Marnie

On Tue, Nov 4, 2008 at 10:16 AM, Gordon Sim <gsim@redhat.com> wrote:

> Robert Greig wrote:
>
>> 2008/11/3 Keith Chow <keith.chow@xml-asia.org>:
>>
>>> Is there an easy way to set global limit for all queues by broker config?
>>>
>>
>> I am not sure - can someone confirm? I know there is a threshold but
>> that used to emit only a warning to the log.
>>
>> The issue here is a default that can be configured for temporary
>> queues bound to the topic exchange (I assume)? Ideally I think we want
>> to be able to specify that consumers get disconnected when certain
>> thresholds are hit (e.g. number of messages or size of messages).
>>
>> Can someone from the C++ side indicate whether the C++ broker does
>> this? If not I shall raise enhancement requests for both brokers.
>>
>
> The c++ broker allows a hard limit to be set for a queue or a system wide
> default.
>
>
>

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