qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "GS.Chandra N" <gs.chandra...@gmail.com>
Subject Re: Memory pile up on broker
Date Mon, 09 Mar 2009 16:37:09 GMT
>On Mon, Mar 9, 2009 at 1:51 PM, Gordon Sim <gsim@redhat.com> wrote:
>If you use the tool to look at the subscription queues while the memory is
climbing you can see the queue depth for these.

That's exactly what I'm confused about because the messages i sent will NOT
match any of the subscriptions as the tests I'm conducting is to establish
the load due to a high no of subscriptions.

The queues show 0 for everything except the binding count and the consumer
count (1).

>Are you accepting the messages after the subscriber receives them (or using
accept_mode=not_required)? The broker will not dequeue messages from the
queue until you do so.

I do not do anything special here since i do not accept any messages but the
queu autoDelete property shows false. Not sure what this means or if it has
any significance since msgDepth shows 0.

The python code i use to accept messageslook like this

def dump_queue(queue):

  content = ""                   # Content of the last message read
  message = 0

  while 1:
    try:
      message = queue.get(timeout=10000000000)
      content = message.body
      session.message_accept(RangedSet(message.id))
      print "Recieved a message and sent ack"
    except Empty:
      continue

Thanks for the replies, appreciate all the helps.

Rgds
gs

On Mon, Mar 9, 2009 at 1:51 PM, Gordon Sim <gsim@redhat.com> wrote:

> GS.Chandra N wrote:
>
>> Adding some more details -
>>
>> All messages are sent to a new exchange created thus "qpid-config add
>> exchange headers Feeds". The exchange is shown as not durable in
>> qpid-tool.
>>
>> There is no increase in size of memory unless subscriptions are created.
>>
>> When there are no subscriptions and messages are being pumped in ,
>>
>>                         msgRecieves is equal to msgDrops
>>                         byteRecieves is equal to byteDrops
>>                        msgROutes and byteRoutes are zero
>>
>>                         All other stats for the exchange shows zero
>>
>>  Though i have 6 server processes pumping in messages and one qpid-tool I
>> see only 2 queues.They are named mgmt-HOST.port and repl-HOST.port. I
>> suppose these are created by qpid-tool and not by the exchange processes
>> since they do not create any queues for sending messages.
>>
>> When there are subscriptions created and messages are being pumped in,
>>
>>                       msgRecieves start to climb and msgDrops stay same
>>                       byteRecieves start to climb and byteDrops stay same
>>                       msgRoutes and byteRoutes are non zero
>>
>> It is clear that the messages are for some reason being cached though its
>> not clear why.
>>
>
> That is as expected. The msgRoutes count tracks the number of messages that
> are routed to subscriber queues and the msgDrops count tracks the number of
> messages that were dropped due to there being no matching subscriptions.
>
> If you use the tool to look at the subscription queues while the memory is
> climbing you can see the queue depth for these.
>
> Are you accepting the messages after the subscriber receives them (or using
> accept_mode=not_required)? The broker will not dequeue messages from the
> queue until you do so.
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>

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