Using <threads>/threads() is ALOT slower than using the seda:endpoint
---------------------------------------------------------------------

                 Key: CAMEL-4863
                 URL: https://issues.apache.org/jira/browse/CAMEL-4863
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 2.9.0
         Environment: JBoss 7.1 CR1b
            Reporter: Aaron Whiteside
            Priority: Critical


Snippets from my routing file:

{code:xml}
<threads maxPoolSize="10" maxQueueSize="10">
   <to uri="jms:queue:testQueue?deliveryPersistent=true"/>
</threads>
{code}

compared to:

{code:xml}
<to uri="seda:test?concurrentConsumers=10&size=10"/>
{code}

{code:xml}
<from uri="seda:test?concurrentConsumers=10&size=10"/>
<to uri="jms:queue:testQueue?deliveryPersistent=true"/>
{code}


Using <threads> I get about 600 requests/per second.
Using seda endpoint I get about 3000 requests/per second.

Looking at the thread pools created by Camel in jconsole: I can see that the 
one created by <threads> is mostly idle as compared to the one created by the 
seda endpoint which is always busy.

Also in the MBean Camel creates for it's managed thread pools, for the 
ThreadPool created by <threads> the TaskQueueSize attribute is almost always 0 
and never more than 1. This is in contrast to the TaskQueueSize attribute on 
ThreadPool created by the seda endpoint which is always 10 (the seda queue 
size, and obviously until all the tasks have completed).



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to