Return-Path: Delivered-To: apmail-activemq-users-archive@www.apache.org Received: (qmail 75137 invoked from network); 1 Aug 2007 08:54:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Aug 2007 08:54:57 -0000 Received: (qmail 74477 invoked by uid 500); 1 Aug 2007 08:54:52 -0000 Delivered-To: apmail-activemq-users-archive@activemq.apache.org Received: (qmail 74452 invoked by uid 500); 1 Aug 2007 08:54:52 -0000 Mailing-List: contact users-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@activemq.apache.org Delivered-To: mailing list users@activemq.apache.org Received: (qmail 74360 invoked by uid 99); 1 Aug 2007 08:54:51 -0000 Received: from Unknown (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Aug 2007 01:54:51 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Aug 2007 08:54:45 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1IG9yL-00068G-E9 for users@activemq.apache.org; Wed, 01 Aug 2007 01:54:25 -0700 Message-ID: <11941918.post@talk.nabble.com> Date: Wed, 1 Aug 2007 01:54:25 -0700 (PDT) From: ocoolio To: users@activemq.apache.org Subject: SOLUTION Re: Performance problem - On empty queue sender gets blocked - on filled queue it's OK In-Reply-To: <11783316.post@talk.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: adamh@freemail.hu References: <11783316.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org Hi everyone! I've found out that it's a postgres concurrency bug: postgres is just bad at concurrent transactions updating the same row/page. Switching to DB2 Express solved it. Cheers. ocoolio wrote: > > Hello! > > I have a bad performance problem: > > Im using NMS with .NET (C#) and two Qs: > SUBMITQ > DESTQ > > 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: http://www.nabble.com/Performance-problem---On-empty-queue-sender-gets-blocked---on-filled-queue-it%27s-OK-tf4142407s2354.html#a11941918 Sent from the ActiveMQ - User mailing list archive at Nabble.com.