You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by bdiesenhaus <br...@ironmountain.com> on 2006/06/27 20:30:39 UTC

Queue Memory Limits

We are running a test with 1 producer and 20 consumers with the memory limit
on the queue set to 1gb. When the memory limit is hit everything is wedged.
What I would suspect to happen is that once a message is consumed the
producer can send another message. 

We are using amq 4.0.1. 

Broker config is: 

<beans>

  <broker persistent="false" useJmx="true"
xmlns="http://activemq.org/config/1.0">

    <memoryManager>
        <usageManager id="memory-manager" limit="2147483648"/>
    </memoryManager>

    <destinationPolicy>
      <policyMap><policyEntries>
          <policyEntry topic=">" memoryLimit="104857600"/>
          <policyEntry queue=">" memoryLimit="104857600"/>
      </policyEntries></policyMap>
    </destinationPolicy>


    <transportConnectors>
       <transportConnector name="default" uri="tcp://localhost:61616"
discoveryUri="multicast://bedrock"/>
    </transportConnectors>

  </broker>


-- 
View this message in context: http://www.nabble.com/Queue-Memory-Limits-tf1857084.html#a5071490
Sent from the ActiveMQ - User forum at Nabble.com.


Re: Queue Memory Limits

Posted by James Strachan <ja...@gmail.com>.
BTW the other option is to just use persistent delivery and just turn
on async sending; then you get close to the performance of
non-persistent queues but being able to handle massive queues (since
messages are spooled to disk).

http://incubator.apache.org/activemq/async-sends.html

On 6/27/06, bdiesenhaus <br...@ironmountain.com> wrote:
>
> We are running a test with 1 producer and 20 consumers with the memory limit
> on the queue set to 1gb. When the memory limit is hit everything is wedged.
> What I would suspect to happen is that once a message is consumed the
> producer can send another message.
>
> We are using amq 4.0.1.
>
> Broker config is:
>
> <beans>
>
>   <broker persistent="false" useJmx="true"
> xmlns="http://activemq.org/config/1.0">
>
>     <memoryManager>
>         <usageManager id="memory-manager" limit="2147483648"/>
>     </memoryManager>
>
>     <destinationPolicy>
>       <policyMap><policyEntries>
>           <policyEntry topic=">" memoryLimit="104857600"/>
>           <policyEntry queue=">" memoryLimit="104857600"/>
>       </policyEntries></policyMap>
>     </destinationPolicy>
>
>
>     <transportConnectors>
>        <transportConnector name="default" uri="tcp://localhost:61616"
> discoveryUri="multicast://bedrock"/>
>     </transportConnectors>
>
>   </broker>
>
>
> --
> View this message in context: http://www.nabble.com/Queue-Memory-Limits-tf1857084.html#a5071490
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Re: Queue Memory Limits

Posted by bdiesenhaus <br...@ironmountain.com>.
Thanks for your help Hiram, it was very much appreciated. 
-- 
View this message in context: http://www.nabble.com/Queue-Memory-Limits-tf1857084.html#a5081299
Sent from the ActiveMQ - User forum at Nabble.com.


Re: Queue Memory Limits

Posted by Vadim Pesochinsky <Va...@mscibarra.com>.
I am wondering if this is considered to be a problem? AMQ is simply hanging,
no error messages reported. Maybe at the very list an error log message. If
new messages are sent maybe client should get an exception with an error
code?
-- 
View this message in context: http://www.nabble.com/Queue-Memory-Limits-tf1857084.html#a8772535
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Queue Memory Limits

Posted by Hiram Chirino <hi...@hiramchirino.com>.
This is true unless you are acking the message after you are attempting to
send another message to the same queue.  In this situation you get a
deadlock and messages are not removed from the queue.  I suggest you send to
a different queue.


On 6/27/06, bdiesenhaus <br...@ironmountain.com> wrote:
>
>
> We are running a test with 1 producer and 20 consumers with the memory
> limit
> on the queue set to 1gb. When the memory limit is hit everything is
> wedged.
> What I would suspect to happen is that once a message is consumed the
> producer can send another message.
>
> We are using amq 4.0.1.
>
> Broker config is:
>
> <beans>
>
>   <broker persistent="false" useJmx="true"
> xmlns="http://activemq.org/config/1.0">
>
>     <memoryManager>
>         <usageManager id="memory-manager" limit="2147483648"/>
>     </memoryManager>
>
>     <destinationPolicy>
>       <policyMap><policyEntries>
>           <policyEntry topic=">" memoryLimit="104857600"/>
>           <policyEntry queue=">" memoryLimit="104857600"/>
>       </policyEntries></policyMap>
>     </destinationPolicy>
>
>
>     <transportConnectors>
>        <transportConnector name="default" uri="tcp://localhost:61616"
> discoveryUri="multicast://bedrock"/>
>     </transportConnectors>
>
>   </broker>
>
>
> --
> View this message in context:
> http://www.nabble.com/Queue-Memory-Limits-tf1857084.html#a5071490
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 
Regards,
Hiram

Blog: http://hiramchirino.com