Hi Claus, thanks for your response.
I had the luck to watch that webinar and I also have the slides, the do help in increasing the overall performance. But when I set transaction=true on the activemq component, the performance can degrade form 2000 msg/sec to 5 msg/sec. Regarding the number of connections, even if I increase it to 10, 20 or more I don't see any difference at all. I feel that the problem is in my camel configuration (not activemq) since I didn't have issues when I was use servicemix and activemq. Thanks again! On Tue, Dec 7, 2010 at 3:08 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: > 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 <ioca...@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: cib...@fusesource.com > Web: http://fusesource.com > Twitter: davsclaus > Blog: http://davsclaus.blogspot.com/ > Author of Camel in Action: http://www.manning.com/ibsen/ > -- *Ioannis Canellos* http://iocanel.blogspot.com Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com>