activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ocoolio <>
Subject Re: Performance problem - On empty queue sender gets blocked - on filled queue it's OK
Date Thu, 26 Jul 2007 12:50:44 GMT


Just a short extra info:
the producer's first transaction is fast as usually! Then after commit, in
the second transaction the .Send() takes forever.
No matter if I create a new factory, connection, whatever, the producer is
blocked. However, I can start a new instance (new exe, new process I mean)
which can commit fast once, then slows down just like the first process.
What it has to do with processes?

What is happening? 



ocoolio wrote:
> Hello!
> I have a bad performance problem:
> Im using NMS with .NET (C#) and two Qs:
> A server component listens on SUBMITQ. When message received, transforms
> it and submits it to DESTQ. All done in one transaction
> (AcknowledgementMode.Transactional and sess.Commit(), PrefetchSize=1).
> This works great with stuffed queues (>10 msg pending) since the receiver
> doenst block the producer.
> The performance in this (filled q) case: ~130msg/sec on consumer.
> The producer can send about 500msg/sec.
> The problem comes when the consumer empties the q. When it happens the
> producer becomes extremely slow (10msg/s) as well as the consumer. The q
> remains empty so somehow the prod and cons waits for each other.
> When I pause the consumer for a sec, the q gets a lot of messages and the
> performance is back to normal: the producer sends with 500, the consumer
> works with 130.
> I use persistent messages, journal and PostgreSQL.
> Because of .NET NMS, I cannot make async sends on the client, however the
> 500/sec is just enough for me.
> Please, tell me what this is, I just cannot figure it out. I dont want to
> implement wait cycles on the consumer just to get the queue packed with
> messages!
> (ActiveMQ 5.0, 2007 07 10).
> Thanks,
> Adam

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message