On Wed, 2012-11-21 at 13:22 -0800, sdonovan_uk wrote: > I’ve found a significant performance difference using Qs between Java and > CMS/C++ consumers. >
What is the connection URI used between the Java client and broker vs the C++ client and broker ? > Environment: > Windows 2008R2, Opteron @ 2.4GHz (lots of cores) > Everything is 64-bit: JDK 1.7.0_02 & C++ compiled with VS.NET 2010 (as > Release/x64) > > ActiveMQ V5.7.0: > persistent=false, > queue: prioritizedMessages=false, producerFlowControl=false, > optimizedDispatch=true > vmQueueCursor > > Consumer: > Java (from V5.7.0), CMS/C++ (v3.4.0, snapshot V3.5.0 and trunk **all** > exhibit the problem) > prefetch=1 > ack=client_acknowledge > > I have dummy consumers in both cases. Each introduces a sleep/wait. I > tested with 0ms and 3ms. > > Test #1: 0ms wait, 1x consumer > Java = ~15,256 messages/second > C++ = ~4,173 messages/second > > Test #2: 3ms wait, 1x consumer > Java = ~328 messages/second (this is good, almost the > theoretical > maximum) > C++ = ~64 messages/second (this is awful) > > Two problems: > > Problem #1: with the 0ms case, C++ performance is significantly worse. > > Problem #2: with the 3m case, C++ is **limited** to 64 messages a > second. > What’s interesting, is that you can increase the # of consumers > (to 16, > 32, etc) and **still** get ~64 messages/second > > Any ideas why CMS is so much slower? > > Many thanks! > > Sean > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Testing-Java-vs-CMS-C-consumer-CMS-is-much-slower-any-ideas-please-tp4659653.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. -- Tim Bish Sr Software Engineer | RedHat Inc. [email protected] | www.fusesource.com | www.redhat.com skype: tabish121 | twitter: @tabish121 blog: http://timbish.blogspot.com/
