Check some of the TX unit tets in camel-jms and compare notes.
On Tue, Dec 7, 2010 at 2:20 PM, Ioannis Canellos <ioca...@gmail.com> wrote: > 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> > -- 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/