activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Strachan <james.strac...@gmail.com>
Subject Re: Camel routing poor performance vs VirtualDestinations and Topics
Date Tue, 31 Mar 2009 21:56:13 GMT
Oh and async sending...

2009/3/31 James Strachan <james.strachan@gmail.com>:
> Also configuring the activemq component to use vm transport (as it
> defaults to tcp://locahost:61616) would probably help too
>
> 2009/3/31 DanielR <romero.cl@gmail.com>:
>>
>> Hi.
>>
>> I'm using AMQ 5.2 (apache-activemq-5.2.0-bin.tar).
>> The camel code is in a java class of my own package
>> (cl.niclabs.activemq.camel), loaded at the startup in the AMQ's xml config
>> with this code:
>>
>> <camelContext id="camel"
>> xmlns="http://activemq.apache.org/camel/schema/spring">
>>                <package>cl.niclabs.activemq.camel</package>
>> </camelContext>
>>
>> You can download my configs here:
>> http://www.nabble.com/file/p22815567/activemq-tests.tar.gz
>> activemq-tests.tar.gz
>>
>>
>> So, you say that using JMS transactions should rise the camel routing
>> performance near the VirtualDestination one, that's all?
>>
>> Thanks for your time.
>>
>>
>>
>>
>> James.Strachan wrote:
>>>
>>> Which version of ActiveMQ/Camel/Spring are you using? Is the camel
>>> code inside the broker? Do you have any specific spring configuration
>>> for the ActiveMQ component?
>>>
>>> BTW the out of the box won't be using transactions, so you'll be doing
>>> a request/reply with the broker (I presume using TCP unless you've
>>> some custom config) waiting for the send to hit disk for each
>>> destination before committing the consume. So using a JMS transaction
>>> should speed that up hugely.
>>>
>>> However fast we get the camel code; topics and virtual queues are
>>> always gonna be faster; since on the broker side its just moving an in
>>> memory message to multiple destinations in a single thread without the
>>> overhead of going through the JMS client API.
>>>
>>> Having said that - if you are testing like for like (e.g. using VM
>>> transport, using transactions & using async sends) it should get
>>> close.
>>>
>>>
>>> 2009/3/31 DanielR <romero.cl@gmail.com>:
>>>>
>>>> Hi.
>>>>
>>>>
>>>> Im getting very slow performance using camel based routing.
>>>>
>>>> I have 1 producer sending messages to QUEUE.COLOR and then ActiveMQ
>>>> duplicate the messages to QUEUE.BLUE and QUEUE.RED (except for
>>>> topics...).
>>>>
>>>>
>>>> Is this normal?
>>>>
>>>>
>>>> My tests:
>>>>
>>>> 1. Camel Route defined in XML
>>>> 2. Camel Route defined in RouteBuilder Plugin
>>>> 3. VirtualDestination Routing
>>>> 4. Topics
>>>>
>>>>                 Test N°      1        2          3  
        4
>>>> Body Size
>>>> 128B                         703     763     6377     10590
>>>> 512B                         670     692     5872     8143
>>>> 1KB                          628     635     5037    
4749
>>>> 2KB                          566     557     2376    
2641
>>>>
>>>> *messages/second
>>>>
>>>>
>>>> Camel Route defined in XML Code
>>>>
>>>>        <camelContext id="camel"
>>>> xmlns="http://activemq.apache.org/camel/schema/spring">
>>>>                <route>
>>>>                        <from uri="activemq:QUEUE.COLOR" />
>>>>                        <to uri="activemq:QUEUE.RED" />
>>>>                        <to uri="activemq:QUEUE.BLUE" />
>>>>                </route>
>>>>        </camelContext>
>>>>
>>>>
>>>> Camel Route defined in RouteBuilder Plugin Code
>>>>
>>>> class MyRouteBuilder extends RouteBuilder {
>>>>
>>>>    @Override
>>>>    public void configure() throws Exception {
>>>>
>>>>
>>>> from("activemq:queue:QUEUE.COLOR").to("activemq:queue:QUEUE.RED").to("activemq:queue:QUEUE.BLUE");
>>>>    }
>>>>
>>>> }
>>>>
>>>> VirtualDestination Code
>>>>
>>>>                <destinationInterceptors>
>>>>                        <virtualDestinationInterceptor>
>>>>                                <virtualDestinations>
>>>>                                        <compositeQueue
>>>> name="QUEUE.COLOR">
>>>>                                                <forwardTo>
>>>>                                                  
     <queue
>>>> physicalName="QUEUE.RED" />
>>>>                                                  
     <queue
>>>> physicalName="QUEUE.BLUE" />
>>>>                                                </forwardTo>
>>>>                                        </compositeQueue>
>>>>                                </virtualDestinations>
>>>>                        </virtualDestinationInterceptor>
>>>>                </destinationInterceptors>
>>>>
>>>>
>>>>
>>>>
>>>> Graphic with results attached.
>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Daniel Romero P.
>>>>
>>>> http://www.nabble.com/file/p22812467/activemq-routing.jpg
>>>> activemq-routing.jpg
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Camel-routing-poor-performance-vs-VirtualDestinations-and-Topics-tp22812467p22812467.html
>>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> James
>>> -------
>>> http://macstrac.blogspot.com/
>>>
>>> Open Source Integration
>>> http://fusesource.com/
>>>
>>>
>>
>> --
>> View this message in context: http://www.nabble.com/Camel-routing-poor-performance-vs-VirtualDestinations-and-Topics-tp22812467p22815567.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> James
> -------
> http://macstrac.blogspot.com/
>
> Open Source Integration
> http://fusesource.com/
>



-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://fusesource.com/

Mime
View raw message