Cool, that is a good test result for advertising the simple jms component.
-- Willem Jiang On Monday, August 6, 2012 at 2:06 PM, Scott England-Sullivan wrote: > Hi All, > > As a follow up to this thread, I wanted to see where SJMS stacked up > against these results. Using the tests provided that included the > optimized Camel route from Clause, I ran the same tests against the the new > SJMS component with the following result: > > [ main] SpringCamelContext INFO > Apache Camel 2.11-SNAPSHOT (CamelContext: camel) started in 0.201 seconds > Exchanged 1000 messages in 1279 millis > Exchanged 1000 messages in 893 millis > Exchanged 1000 messages in 830 millis > Exchanged 1000 messages in 676 millis > Exchanged 1000 messages in 628 millis > Exchanged 1000 messages in 624 millis > Exchanged 1000 messages in 450 millis > Exchanged 1000 messages in 447 millis > Exchanged 1000 messages in 445 millis > Exchanged 1000 messages in 449 millis > Exchanged 1000 messages in 453 millis > Exchanged 1000 messages in 395 millis > Exchanged 1000 messages in 401 millis > Exchanged 1000 messages in 388 millis > Exchanged 1000 messages in 388 millis > Exchanged 1000 messages in 385 millis > Exchanged 1000 messages in 389 millis > Exchanged 1000 messages in 389 millis > Exchanged 1000 messages in 388 millis > Exchanged 1000 messages in 387 millis > Exchanged 1000 messages in 387 millis > Exchanged 1000 messages in 390 millis > Exchanged 1000 messages in 386 millis > Exchanged 1000 messages in 388 millis > Exchanged 1000 messages in 386 millis > Exchanged 1000 messages in 389 millis > Exchanged 1000 messages in 385 millis > Exchanged 1000 messages in 390 millis > Exchanged 1000 messages in 385 millis > Exchanged 1000 messages in 389 millis > Exchanged 1000 messages in 388 millis > Exchanged 1000 messages in 386 millis > Exchanged 1000 messages in 393 millis > Exchanged 1000 messages in 392 millis > Exchanged 1000 messages in 390 millis > Exchanged 1000 messages in 391 millis > Exchanged 1000 messages in 390 millis > Exchanged 1000 messages in 398 millis > Exchanged 1000 messages in 394 millis > Exchanged 1000 messages in 394 millis > Exchanged 1000 messages in 397 millis > Exchanged 1000 messages in 391 millis > Exchanged 1000 messages in 395 millis > Exchanged 1000 messages in 391 millis > Exchanged 1000 messages in 392 millis > Exchanged 1000 messages in 392 millis > Exchanged 1000 messages in 391 millis > Exchanged 1000 messages in 392 millis > Exchanged 1000 messages in 390 millis > Exchanged 1000 messages in 393 millis > Exchanged 1000 messages in 390 millis > > > For comparison against the same environment here are the optimized Camel > JMS numbers: > > > [ main] SpringCamelContext INFO > Apache Camel 2.11-SNAPSHOT (CamelContext: camel) started in 0.123 seconds > Exchanged 1000 messages in 1367 millis > Exchanged 1000 messages in 978 millis > Exchanged 1000 messages in 857 millis > Exchanged 1000 messages in 740 millis > Exchanged 1000 messages in 703 millis > Exchanged 1000 messages in 732 millis > Exchanged 1000 messages in 636 millis > Exchanged 1000 messages in 497 millis > Exchanged 1000 messages in 476 millis > Exchanged 1000 messages in 479 millis > Exchanged 1000 messages in 465 millis > Exchanged 1000 messages in 437 millis > Exchanged 1000 messages in 428 millis > Exchanged 1000 messages in 428 millis > Exchanged 1000 messages in 423 millis > Exchanged 1000 messages in 416 millis > Exchanged 1000 messages in 420 millis > Exchanged 1000 messages in 417 millis > Exchanged 1000 messages in 416 millis > Exchanged 1000 messages in 415 millis > Exchanged 1000 messages in 420 millis > Exchanged 1000 messages in 418 millis > Exchanged 1000 messages in 418 millis > Exchanged 1000 messages in 419 millis > Exchanged 1000 messages in 416 millis > Exchanged 1000 messages in 415 millis > Exchanged 1000 messages in 416 millis > Exchanged 1000 messages in 419 millis > Exchanged 1000 messages in 418 millis > Exchanged 1000 messages in 416 millis > Exchanged 1000 messages in 418 millis > Exchanged 1000 messages in 420 millis > Exchanged 1000 messages in 421 millis > Exchanged 1000 messages in 420 millis > Exchanged 1000 messages in 418 millis > Exchanged 1000 messages in 417 millis > Exchanged 1000 messages in 424 millis > Exchanged 1000 messages in 421 millis > Exchanged 1000 messages in 418 millis > Exchanged 1000 messages in 421 millis > Exchanged 1000 messages in 419 millis > Exchanged 1000 messages in 427 millis > Exchanged 1000 messages in 426 millis > Exchanged 1000 messages in 427 millis > Exchanged 1000 messages in 429 millis > Exchanged 1000 messages in 425 millis > Exchanged 1000 messages in 424 millis > > :) > > On Mon, Jul 16, 2012 at 5:07 PM, Christian Müller < > christian.muel...@gmail.com (mailto:christian.muel...@gmail.com)> wrote: > > > On Mon, Jul 16, 2012 at 10:04 PM, Claus Ibsen <claus.ib...@gmail.com > > (mailto:claus.ib...@gmail.com)> > > wrote: > > > > > On Mon, Jul 16, 2012 at 7:24 PM, Christian Müller > > > <christian.muel...@gmail.com (mailto:christian.muel...@gmail.com)> wrote: > > > > Great explanation Claus. I answered in the SI forum to make this clear > > > > > > for > > > > them. > > > > > > > > > Well you could match the examples a bit more. The SI sends directly > > > from the java code to a the JMS queue. > > > Where as in Camel its send to a direct endpoint in a Camel route, and > > > then to the JMS queue. > > > You could omit the Camel route, and send directly the the JMS queue, > > > like SI does. > > > > > > > This is what my sample do. > > > > > > > > Also disabling JMX performance stats may make a difference, but only > > > for really high end performance. > > > In this example its more the TCP / remote bandwith that is the > > > bottleneck, and the CPU cycles to calculate performance stats for JMX. > > > > > > Also in Camel you can disable persistent on request/reply when sending > > > (eg replyToDeliveryPersistent=false) but SI is sending persistent as > > > well. But as an end user you may want this in case you are okay with > > > sending the msg as non persistent to the broker. > > > > > > Also SI is having 10 concurrent consumers on the consumer side. Where > > > as Camel has 1 consumer only. But that dont matter as much as the > > > processing is just sending back the same message. > > > > > > > Yes, I tested it also with 10 consumers and came up to the same conclusion. > > > > > > > > In Camel you send the message to a bean, without giving a method name. > > > Which forces Camel to instrospect the bean on the invocation. A better > > > solution to match SI would to use the message translator EIP > > > > > > <transform><simple>${body}</simple></transform> > > > > > > To just transform the reply to the incoming message. > > Yes, indeed. I will make an additional test with this config and publish > > it. My last post was not accepted on the forum... > > > > > > > > > > > > Best, > > > > Christian > > > > > > > > On Mon, Jul 16, 2012 at 8:03 AM, Claus Ibsen <claus.ib...@gmail.com > > > > (mailto:claus.ib...@gmail.com)> > > > wrote: > > > > > > > > > On Mon, Jul 16, 2012 at 12:36 AM, Christian Müller > > > > > <christian.muel...@gmail.com (mailto:christian.muel...@gmail.com)> > > > > > wrote: > > > > > > Thanks Adam for this pointer. > > > > > > I respond to this thread with an optimized version of the Camel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > route > > > > > which > > > > > > is about two times faster than the Spring integration solution. > > > > > > > > > > > > > > > Btw the default request/reply with Camel JMS is using temporary > > > > > queues, eg do not specify a replyTo queue name. The temporary queues > > > > > is like exclusive, and fast. > > > > > > > > > > The shared queues are for clustered / and/or if the queue is used for > > > > > other purposes/other apps etc. eg in some brokers its not > > > > > easy/possible to create new queues on the fly etc. > > > > > > > > > > And the shared option was the default from the early days of the Camel > > > > > project, and we have kept the shared as default since. > > > > > > > > > > Its of course documented in the JMS page. But I guess SI people don't > > > > > read the docs > > > > > http://camel.apache.org/jms (request/reply section) > > > > > > > > > > I logged a ticket to add some logging when shared queues are in use, > > > > > so the end user may notice this more easier, than go read the JMS docs > > > > > https://issues.apache.org/jira/browse/CAMEL-5444 > > > > > > > > > > > Best, > > > > > > Christian > > > > > > > > > > > > On Sun, Jul 15, 2012 at 4:52 AM, aedwards <a...@middleware360.com > > > > > > (mailto:a...@middleware360.com)> > > > > > wrote: > > > > > > > > http://forum.springsource.org/showthread.php?128152-Spring-Integration-2-1-request-reply-benchmark-tests-showed-very-poor-performance > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > View this message in context: > > > > > > > http://camel.465427.n5.nabble.com/fyi-SI-tp5716049.html > > > > > > > Sent from the Camel Development mailing list archive at > > > > > > > Nabble.com (http://Nabble.com). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Claus Ibsen > > > > > ----------------- > > > > > FuseSource > > > > > Email: cib...@fusesource.com (mailto:cib...@fusesource.com) > > > > > Web: http://fusesource.com > > > > > Twitter: davsclaus, fusenews > > > > > Blog: http://davsclaus.com > > > > > Author of Camel in Action: http://www.manning.com/ibsen > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Claus Ibsen > > > ----------------- > > > FuseSource > > > Email: cib...@fusesource.com (mailto:cib...@fusesource.com) > > > Web: http://fusesource.com > > > Twitter: davsclaus, fusenews > > > Blog: http://davsclaus.com > > > Author of Camel in Action: http://www.manning.com/ibsen > > > > > > > > > > > > -- > -- > Scott England-Sullivan > ---------------------------------- > FuseSource > Web: http://www.fusesource.com > Blog: http://sully6768.blogspot.com > Twitter: sully6768 > >