Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 13149 invoked from network); 2 Jan 2008 08:41:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Jan 2008 08:41:05 -0000 Received: (qmail 46998 invoked by uid 500); 2 Jan 2008 08:40:53 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 46961 invoked by uid 500); 2 Jan 2008 08:40:53 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 46952 invoked by uid 99); 2 Jan 2008 08:40:53 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Jan 2008 00:40:53 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Jan 2008 08:40:39 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 32F21714268 for ; Wed, 2 Jan 2008 00:40:44 -0800 (PST) Message-ID: <18236480.1199263244204.JavaMail.jira@brutus> Date: Wed, 2 Jan 2008 00:40:44 -0800 (PST) From: "Rob Davies (JIRA)" To: dev@activemq.apache.org Subject: [jira] Resolved: (AMQ-1231) Performance issues with org/apache/activemq/broker/region/PrefetchSubscription.java and org/apache/activemq/store/kahadaptor/KahaTopicMessageStore.java In-Reply-To: <19823860.1176748774473.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/AMQ-1231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rob Davies resolved AMQ-1231. ----------------------------- Resolution: Fixed Thanks Kevin! I've spent alot of time looking into this - and I did see some big performance gains. However, 1) because we needed to handle a large number of concurrent queues - which cut across PretetchSubscription 2) synchronized is meant to be optimized even further in future JRE releases 3) I've found it easier to find concurrent issues with synchronized (locks show in stack traces) for now I've opted to reduce the amount of large synchronizations If you get the time - could you verify that the latest snapshot helps your performance ? > Performance issues with org/apache/activemq/broker/region/PrefetchSubscription.java and org/apache/activemq/store/kahadaptor/KahaTopicMessageStore.java > ------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: AMQ-1231 > URL: https://issues.apache.org/activemq/browse/AMQ-1231 > Project: ActiveMQ > Issue Type: Improvement > Components: Broker > Affects Versions: 5.0.0 > Reporter: Kevin Yaussy > Assignee: Rob Davies > Fix For: 5.1.0 > > Attachments: KahaTopicMessageStore.java, PrefetchSubscription.java > > > Using Solaris 10 DTrace, I found a couple intense synchronization pinch-points in the Broker. Without altering the locking semantics, I converted the synchronized methods and one synchronized code block to the JDK 1.5 ReentrantLock. There was a pretty significant performance benefit with this change. I've attached the code, together with the old synchronized code commented out for ease of change examination. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.