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/

Reply via email to