Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-687

Duplicate messages are created for KahaDB and performance of Camel route from one queue to another is lower in LevelDB than in KahaDB

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • JBoss A-MQ 6.1
    • None
    • None
    • Hide

      0) For LevelDB modify $FUSE/etc/activemq.xml:
      set persistence adapter to:

      <levelDB directory="${data}/leveldb" indexFactory="org.fusesource.leveldbjni.JniDBFactory" /> 
      

      1)Run JBoss Fuse
      2) Install bundle attached with the command:
      osgi:install mvn:org.jboss.fuse.qa.performance/fuse-jms-queues-pooled-persistent/1.0-SNAPSHOT
      3)Copy activemq-all-5.9.0.redhat-610379.jar to $PERFCAKE/lib/ext folder.
      4) Run PerfCake 2.0 (https://www.perfcake.org/) using the scenario attached:
      performance-quickstarts-6.1-jms/fuse-scenarious/fuse-jms-queues-pooled-persistent-without-memory.xml
      (it is using the attached message from performance-quickstarts-6.1-jms/fuse-messages/fuse-jms-5kB-request.xml)
      with the command:

       $PERFCAKE/bin/perfcake.sh -s fuse-jms-queues-pooled-persistent-without-memory -sd $PATH_TO_ATTACHMENT/performance-quickstarts-6.1-jms/fuse-scenarious -md performance-quickstarts-6.1-jms/fuse-messages
      
      Show
      0) For LevelDB modify $FUSE/etc/activemq.xml: set persistence adapter to: <levelDB directory= "${data}/leveldb" indexFactory= "org.fusesource.leveldbjni.JniDBFactory" /> 1)Run JBoss Fuse 2) Install bundle attached with the command: osgi:install mvn:org.jboss.fuse.qa.performance/fuse-jms-queues-pooled-persistent/1.0-SNAPSHOT 3)Copy activemq-all-5.9.0.redhat-610379.jar to $PERFCAKE/lib/ext folder. 4) Run PerfCake 2.0 ( https://www.perfcake.org/ ) using the scenario attached: performance-quickstarts-6.1-jms/fuse-scenarious/fuse-jms-queues-pooled-persistent-without-memory.xml (it is using the attached message from performance-quickstarts-6.1-jms/fuse-messages/fuse-jms-5kB-request.xml) with the command: $PERFCAKE/bin/perfcake.sh -s fuse-jms-queues-pooled-persistent-without-memory -sd $PATH_TO_ATTACHMENT/performance-quickstarts-6.1-jms/fuse-scenarious -md performance-quickstarts-6.1-jms/fuse-messages

      PerfCake was sending 5Kb messages in 100 concurrent threads to the Camel route below for 5 minutes.For KahaDB duplicate messages occurred.The average performance with LevelDB (both drivers) was 30 iterations/second, for KahaDB it was 80 iterations/sec.With AverageEnqueueTime for queue.request - 3212 milliseconds,
      AverageEnqueueTime for queue.response - 0.5 milliseconds for LevelDB.AverageEnqueueTime for queue.request - 539 milliseconds,
      AverageEnqueueTime for queue.response - 968 milliseconds for KahaDB.| <camelContext trace="false" xmlns="http://camel.apache.org/schema/spring">|

      <route id="JMSQueues">
      <from uri="activemq:queue:queue.request?username=admin&password=admin"/>
      <to uri="activemq:queue:queue.response?username=admin&password=admin"/>
      </route>
      </camelContext>
       
      <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="tcp://localhost:61616"/>
      </bean>
      <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
      <property name="maxConnections" value="200"/>
      <property name="connectionFactory" ref="jmsConnectionFactory"/>
      </bean>
      <bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
      <property name="connectionFactory" ref="pooledConnectionFactory"/>
      <property name="transacted" value="false"/>
      <property name="concurrentConsumers" value="100"/>
      <property name="maxConcurrentConsumers" value="200"/>
      </bean>
       
      <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
      <property name="configuration" ref="jmsConfig"/>
      </bean>

              Unassigned Unassigned
              emedvede Elena Medvedeva (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: