activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob Davies (JIRA)" <j...@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
Date Wed, 02 Jan 2008 08:40:44 GMT

     [ 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.


Mime
View raw message