You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by sdonovan_uk <sd...@yahoo.com> on 2012/11/21 22:22:49 UTC
Testing Java vs. CMS/C++ consumer: CMS is much slower, any ideas
please?
I’ve found a significant performance difference using Qs between Java and
CMS/C++ consumers.
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.
Re: Testing Java vs. CMS/C++ consumer: CMS is much slower, any
ideas please?
Posted by sdonovan_uk <sd...@yahoo.com>.
Sorry, for CMS, the base version I tested with was V3.4.5 -- and not V3.4.0).
S
--
View this message in context: http://activemq.2283324.n4.nabble.com/Testing-Java-vs-CMS-C-consumer-CMS-is-much-slower-any-ideas-please-tp4659653p4659654.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: Testing Java vs. CMS/C++ consumer: CMS is much slower, any
ideas please?
Posted by Timothy Bish <ta...@gmail.com>.
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.
tim.bish@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/