activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gerdes, Mike" <>
Subject AW: limit the number of messages per second
Date Thu, 15 Jun 2006 13:58:56 GMT

hm I will try to use prefetch and see if it works, but mostly the problem is not the consumer,
but the sender and the broker having to manage everything.

The broker crashes or better it gets a deadlock. So the usagemanagers for the queues request
more memory and get it, at some point in time all memory is used up and they request more
and wait till they get it. That never happens, because the reference co├║nters don'T get reduced
and they think the queue is totally full. At that point the sender also stops and waits for
the queue to free.

I am using SSL and JAAS to allow only nodes that I trust to publish to the system, but when
systems get bigger a misconfiguration might occure or somebody finds a trick or a way around
it. It is not that critical but would be very nice to have.

I am using AMQ4.0 the SNAPSHOT 01.05.2006. I have tried to use persistent and non-persistent
messages, that makes no change.

I haven't found the options on how to set it, that was before you added the warning and send
this email, so I will try it and hope thats the problem.

-----Urspr├╝ngliche Nachricht-----
Von: James Strachan []
Gesendet: Donnerstag, 15. Juni 2006 15:45
Betreff: Re: limit the number of messages per second

On 6/15/06, Gerdes, Mike <> wrote:
> I want this feature to make AMQ a bit more stable, to reduce network traffic and prevent
flooding and to avoid that a software with errors kills my system.

You can use the prefetch for that...

to limit how many messages are dispatched to a consumer.

> From what I noticed is that AMQ does have some memory problems and that it hits under
certain circumstances 100 used memory and crashes then.

Whats the crash? Is this the broker or client?

>  But thats the smaller reason. The major reason is just for security. In my testing and
application I need to have a system that is more or less stable and secure. And DoS and flooding
of queues seems to me a big problem.

How about using security so only nodes you trust can publish to your queues?

> One thing about the memory problem, I have encountered. With more then one consumer and
using queue, AMQ crashes with 100% used memory if I send as fast as possible. This happens
with and without async messages. What I noticed is that the usageManagers request more and
more memory and at some point don't get it and then block. When a message from a queue is
read, its memory is not freed. With only on consumer this haven'T been the case. There has
the memory be freed.
> (I put reference counter System.out.println into the usageManger)

Which version of ActiveMQ are you using? Also are you using persistent
queues? (I'm guessing not as that is not memory bound).

If you are using 4.0 have you disabled optimizeAck? (see the known issues)



This mail has originated outside your organization,
either from an external partner or the Global Internet.
Keep this in mind if you answer this message.

This mail has originated outside your organization, either from an external partner or the
Global Internet. Keep this in mind if you answer this message.

View raw message