camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Performance issues when using camel-activemq and transactions.
Date Tue, 07 Dec 2010 13:08:08 GMT
Ask at AMQ forum as its generally how to optimize and setup AMQ.

Also check out maybe some of the webinars by Rob Davies on advanced
and high performance AMQ stuff
The webinars is avail at fusesource website.

And it looks like you only got 1 connection in your pool?
maxConnections=1



On Mon, Nov 29, 2010 at 10:38 AM, Ioannis Canellos <iocanel@gmail.com> wrote:
> I am using camel 2.5.0 and activemq 5.4.0 to create a simple route of the
> form dataset -> activemq:queue.in -> activemq:queue.out -> dataset.
> All are working fine and I the performance is more than 1K messages/sec.
>
> However if I set transactions=true on the activemq component configuration,
> then I experience serious performance issues (5 messages/sec).
>
> I am testing using camel:run maven plugin. My configuration is the
> following:
>
> <beans
>        xmlns="http://www.springframework.org/schema/beans"
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xmlns:amq="http://activemq.apache.org/schema/core"
>        xmlns:camel="http://camel.apache.org/schema/spring"
>        xmlns:context="http://www.springframework.org/schema/context"
>        xmlns:aop="http://www.springframework.org/schema/aop"
>        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://www.springframework.org/schema/context
> http://www.springframework.org/schema/context/spring-context-3.0.xsd
>        http://www.springframework.org/schema/aop
> http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
>        http://camel.apache.org/schema/spring
> http://camel.apache.org/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"/>
>
>    <!-- ActiveMQ Broker -->
>    <broker id="broker" xmlns="http://activemq.apache.org/schema/core"
> brokerName="localhost" dataDirectory="data"
>            useJmx="true" persistent="true" advisorySupport="false">
>        <destinationPolicy>
>            <policyMap>
>                <policyEntries>
>                    <policyEntry queue=">" producerFlowControl="false"
> optimizedDispatch="true">
>                        <pendingQueuePolicy>
>                            <vmQueueCursor/>
>                        </pendingQueuePolicy>
>                    </policyEntry>
>                </policyEntries>
>            </policyMap>
>        </destinationPolicy>
>
>        <persistenceAdapter>
>            <kahaDB directory="data/kahadb" enableIndexWriteAsync="true"/>
>        </persistenceAdapter>
>
>        <transportConnectors>
>            <transportConnector name="nio" uri="nio://0.0.0.0:61616"/>
>        </transportConnectors>
>    </broker>
>
>    <!-- Camel Context -->
>    <camelContext xmlns="http://camel.apache.org/schema/spring"
> id="messaging" depends-on="broker">
>        <route>
>            <from uri="dataset:loadtest?produceDelay=-1"/>
>            <to uri="activemq:queue:queue.in"/>
>        </route>
>    </camelContext>
>
>    <!-- Camel Components -->
>    <bean id="activemq"
> class="org.apache.activemq.camel.component.ActiveMQComponent">
>        <property name="connectionFactory" ref="pooledConnectionFactory"/>
>        <!--property name="transacted" value="true"/>
>        <property name="transactionManager" ref="transactionManager"/>
>        <property name="transactionTimeout" value="300000"/-->
>        <property name="acknowledgementModeName" value="AUTO_ACKNOWLEDGE"/>
>        <property name="cacheLevelName" value="CACHE_AUTO"/>
>    </bean>
>
>
>    <bean id="connectionFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory">
>        <property name="brokerURL" value="nio://127.0.0.1:61616"/>
>        <property name="useAsyncSend" value="true"/>
>    </bean>
>
>    <bean id="pooledConnectionFactory"
> class="org.apache.activemq.pool.PooledConnectionFactory">
>        <property name="connectionFactory" ref="connectionFactory"/>
>        <property name="maxConnections" value="1"/>
>        <property name="maximumActive" value="500"/>
>    </bean>
>
>    <!-- DataSet -->
>    <bean id="loadtest"
> class="org.apache.camel.component.dataset.SimpleDataSet">
>        <property name="size" value="100000"/>
>    </bean>
>
>    <!-- Transaction Manager -->
>    <bean id="transactionManager"
> class="org.jencks.factory.TransactionManagerFactoryBean"/>
> </beans>
>
>
> --
> *Ioannis Canellos*
> http://iocanel.blogspot.com
> Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Mime
View raw message