4.1.1 vs. 5.1.0 performance

View: New views
3 Messages — Rating Filter:   Alert me  

4.1.1 vs. 5.1.0 performance

by colomb :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

We are running some tests to evaluate upgrading to ActiveMQ v 5.1 from 4.1.1.  We are running the broker on one machine, and a message producer and consumer on another.  No persistence.  Under 4.1.1, we get around 10,000 msgs/sec, however under 5.1.0 we only read 5000 msgs/sec.  The tests are being run on the same hardware.  Below are the two configuration files.  Anyone have any ideas?  Thank you

4.1.1
<beans>

  <!-- Allows us to use system properties as variables in this configuration file -->
  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
 
  <broker useJmx="true" xmlns="http://activemq.org/config/1.0">
 
    <memoryManager>  
      <usageManager id="memory-manager" limit="250 MB"/>
    </memoryManager>

    <persistenceAdapter>
        <jdbcPersistenceAdapter dataDirectory="${activemq.base}/activemq-data"/>
    </persistenceAdapter>
 
    <transportConnectors>
       <transportConnector name="default" uri="tcp://localhost:61616" discoveryUri="multicast://default"/>
    </transportConnectors>
   
    <networkConnectors>
    </networkConnectors>
   
  </broker>
</beans>

5.1.0
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd   
  http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">

    <!-- Allows us to use system properties as variables in this configuration file -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="testBrokerOne" dataDirectory="${activemq.base}/data" persistent="false">

        <!-- Destination specific policies using destination names or wildcards -->
        <destinationPolicy>
            <policyMap>
                <policyEntries>
                    <policyEntry queue=">" memoryLimit="50mb"/>
                    <policyEntry topic=">" memoryLimit="50mb">
                        <dispatchPolicy>
                            <strictOrderDispatchPolicy/>
                        </dispatchPolicy>
                        <subscriptionRecoveryPolicy>
                            <lastImageSubscriptionRecoveryPolicy/>
                        </subscriptionRecoveryPolicy>
                    </policyEntry>
                </policyEntries>
            </policyMap>
        </destinationPolicy>

        <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        <!-- The store and forward broker networks ActiveMQ will listen to -->
        <networkConnectors>
        </networkConnectors>

        <persistenceAdapter>
            <amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="1 gb"/>
        </persistenceAdapter>
        <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="1 gb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="1 gb" name="foo"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="1 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>


        <!-- The transport connectors ActiveMQ will listen to -->
        <transportConnectors>
            <transportConnector name="openwire" uri="tcp://localhost:61616" discoveryUri="multicast://default"/>
        </transportConnectors>

    </broker>
</beans>

Re: 4.1.1 vs. 5.1.0 performance

by rajdavies :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Try turning flow control off - see http://activemq.apache.org/producer-flow-control.html

cheers,

Rob
On 30 Sep 2008, at 17:19, colomb wrote:

>
> We are running some tests to evaluate upgrading to ActiveMQ v 5.1  
> from 4.1.1.
> We are running the broker on one machine, and a message producer and
> consumer on another.  No persistence.  Under 4.1.1, we get around  
> 10,000
> msgs/sec, however under 5.1.0 we only read 5000 msgs/sec.  The tests  
> are
> being run on the same hardware.  Below are the two configuration  
> files.
> Anyone have any ideas?  Thank you
>
> 4.1.1
> <beans>
>
>  <!-- Allows us to use system properties as variables in this  
> configuration
> file -->
>  <bean
> class
> =
> "org
> .springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>
>  <broker useJmx="true" xmlns="http://activemq.org/config/1.0">
>
>    <memoryManager>
>      <usageManager id="memory-manager" limit="250 MB"/>
>    </memoryManager>
>
>    <persistenceAdapter>
>        <jdbcPersistenceAdapter
> dataDirectory="${activemq.base}/activemq-data"/>
>    </persistenceAdapter>
>
>    <transportConnectors>
>       <transportConnector name="default" uri="tcp://localhost:61616"
> discoveryUri="multicast://default"/>
>    </transportConnectors>
>
>    <networkConnectors>
>    </networkConnectors>
>
>  </broker>
> </beans>
>
> 5.1.0
> <beans
>  xmlns="http://www.springframework.org/schema/beans"
>  xmlns:amq="http://activemq.apache.org/schema/core"
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>  xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>  http://activemq.apache.org/schema/core
> http://activemq.apache.org/schema/core/activemq-core.xsd
>  http://activemq.apache.org/camel/schema/spring
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
>
>    <!-- Allows us to use system properties as variables in this
> configuration file -->
>    <bean
> class
> =
> "org
> .springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>
>    <broker xmlns="http://activemq.apache.org/schema/core"
> brokerName="testBrokerOne" dataDirectory="${activemq.base}/data"
> persistent="false">
>
>        <!-- Destination specific policies using destination names or
> wildcards -->
>        <destinationPolicy>
>            <policyMap>
>                <policyEntries>
>                    <policyEntry queue=">" memoryLimit="50mb"/>
>                    <policyEntry topic=">" memoryLimit="50mb">
>                        <dispatchPolicy>
>                            <strictOrderDispatchPolicy/>
>                        </dispatchPolicy>
>                        <subscriptionRecoveryPolicy>
>                            <lastImageSubscriptionRecoveryPolicy/>
>                        </subscriptionRecoveryPolicy>
>                    </policyEntry>
>                </policyEntries>
>            </policyMap>
>        </destinationPolicy>
>
>        <!-- Use the following to configure how ActiveMQ is exposed  
> in JMX
> -->
>        <managementContext>
>            <managementContext createConnector="false"/>
>        </managementContext>
>
>        <!-- The store and forward broker networks ActiveMQ will  
> listen to
> -->
>        <networkConnectors>
>        </networkConnectors>
>
>        <persistenceAdapter>
>            <amqPersistenceAdapter syncOnWrite="false"
> directory="${activemq.base}/data" maxFileLength="1 gb"/>
>        </persistenceAdapter>
>        <systemUsage>
>            <systemUsage>
>                <memoryUsage>
>                    <memoryUsage limit="1 gb"/>
>                </memoryUsage>
>                <storeUsage>
>                    <storeUsage limit="1 gb" name="foo"/>
>                </storeUsage>
>                <tempUsage>
>                    <tempUsage limit="1 gb"/>
>                </tempUsage>
>            </systemUsage>
>        </systemUsage>
>
>
>        <!-- The transport connectors ActiveMQ will listen to -->
>        <transportConnectors>
>            <transportConnector name="openwire" uri="tcp://localhost:
> 61616"
> discoveryUri="multicast://default"/>
>        </transportConnectors>
>
>    </broker>
> </beans>
>
> --
> View this message in context: http://www.nabble.com/4.1.1-vs.-5.1.0-performance-tp19745460p19745460.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>


Re: 4.1.1 vs. 5.1.0 performance

by colomb :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

That did it.  Thanks for the quick response!

rajdavies wrote:
Try turning flow control off - see http://activemq.apache.org/producer-flow-control.html

cheers,

Rob
On 30 Sep 2008, at 17:19, colomb wrote:

>
> We are running some tests to evaluate upgrading to ActiveMQ v 5.1  
> from 4.1.1.
> We are running the broker on one machine, and a message producer and
> consumer on another.  No persistence.  Under 4.1.1, we get around  
> 10,000
> msgs/sec, however under 5.1.0 we only read 5000 msgs/sec.  The tests  
> are
> being run on the same hardware.  Below are the two configuration  
> files.
> Anyone have any ideas?  Thank you
>
> 4.1.1
> <beans>
>
>  <!-- Allows us to use system properties as variables in this  
> configuration
> file -->
>  <bean
> class
> =
> "org
> .springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>
>  <broker useJmx="true" xmlns="http://activemq.org/config/1.0">
>
>    <memoryManager>
>      <usageManager id="memory-manager" limit="250 MB"/>
>    </memoryManager>
>
>    <persistenceAdapter>
>        <jdbcPersistenceAdapter
> dataDirectory="${activemq.base}/activemq-data"/>
>    </persistenceAdapter>
>
>    <transportConnectors>
>       <transportConnector name="default" uri="tcp://localhost:61616"
> discoveryUri="multicast://default"/>
>    </transportConnectors>
>
>    <networkConnectors>
>    </networkConnectors>
>
>  </broker>
> </beans>
>
> 5.1.0
> <beans
>  xmlns="http://www.springframework.org/schema/beans"
>  xmlns:amq="http://activemq.apache.org/schema/core"
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>  xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>  http://activemq.apache.org/schema/core
> http://activemq.apache.org/schema/core/activemq-core.xsd
>  http://activemq.apache.org/camel/schema/spring
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
>
>    <!-- Allows us to use system properties as variables in this
> configuration file -->
>    <bean
> class
> =
> "org
> .springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>
>    <broker xmlns="http://activemq.apache.org/schema/core"
> brokerName="testBrokerOne" dataDirectory="${activemq.base}/data"
> persistent="false">
>
>        <!-- Destination specific policies using destination names or
> wildcards -->
>        <destinationPolicy>
>            <policyMap>
>                <policyEntries>
>                    <policyEntry queue=">" memoryLimit="50mb"/>
>                    <policyEntry topic=">" memoryLimit="50mb">
>                        <dispatchPolicy>
>                            <strictOrderDispatchPolicy/>
>                        </dispatchPolicy>
>                        <subscriptionRecoveryPolicy>
>                            <lastImageSubscriptionRecoveryPolicy/>
>                        </subscriptionRecoveryPolicy>
>                    </policyEntry>
>                </policyEntries>
>            </policyMap>
>        </destinationPolicy>
>
>        <!-- Use the following to configure how ActiveMQ is exposed  
> in JMX
> -->
>        <managementContext>
>            <managementContext createConnector="false"/>
>        </managementContext>
>
>        <!-- The store and forward broker networks ActiveMQ will  
> listen to
> -->
>        <networkConnectors>
>        </networkConnectors>
>
>        <persistenceAdapter>
>            <amqPersistenceAdapter syncOnWrite="false"
> directory="${activemq.base}/data" maxFileLength="1 gb"/>
>        </persistenceAdapter>
>        <systemUsage>
>            <systemUsage>
>                <memoryUsage>
>                    <memoryUsage limit="1 gb"/>
>                </memoryUsage>
>                <storeUsage>
>                    <storeUsage limit="1 gb" name="foo"/>
>                </storeUsage>
>                <tempUsage>
>                    <tempUsage limit="1 gb"/>
>                </tempUsage>
>            </systemUsage>
>        </systemUsage>
>
>
>        <!-- The transport connectors ActiveMQ will listen to -->
>        <transportConnectors>
>            <transportConnector name="openwire" uri="tcp://localhost:
> 61616"
> discoveryUri="multicast://default"/>
>        </transportConnectors>
>
>    </broker>
> </beans>
>
> --
> View this message in context: http://www.nabble.com/4.1.1-vs.-5.1.0-performance-tp19745460p19745460.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
LightInTheBox - Buy quality products at wholesale price!