You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by dantran <da...@gmail.com> on 2013/11/14 19:30:38 UTC

Apache.NMS.ActiveMQ openwire client performance

Hi I have a need to transport a large amount messages from .NET into java and
ActiveMQ seems to be a good good fit for this bridge.

However, I am running into some performance that I need to understand.

The flow of the transport, consisting of NMS client to push messages, 1K
each, into multiple queues concurrently ( varies from 1 to 500) via openwire
TCP as localhost

On the java side,  i have embedded activemq configured with the following
info:

  - no persistent
  - each queue memory is configurable
  - data get pulled out using one thread per queue as fast as it can 
    ( why I not using message listener may not relevant in this scenarios). 
  - messages can be either sent in block using transaction or no
transaction.

Here are the results of 300 queues, on my 4 CPU (1 socket)

  - the java side max out at 7K msg/sec 
  - each queue memory usage are slow at jmx side, mean java are able to keep
up the incoming ingest
  - CPU from window task manager show %68 average this include both java and
.net process, 
    but the .NET side double the java broker/consumber side

is it normal at the NMS client producer side?

Huge thanks for any suggestion/advice

Thanks

-Dan





--
View this message in context: http://activemq.2283324.n4.nabble.com/Apache-NMS-ActiveMQ-openwire-client-performance-tp4674488.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Apache.NMS.ActiveMQ openwire client performance

Posted by Jim Gomes <jg...@apache.org>.
Hi Dan,

I'm not quite sure where you're having performance issues and what exactly
it is that you want to improve.  Is the NMS client going too slow producing
messages to a Java consumer?  If you have a small test case in source code
that can show the performance issue, that would be very helpful.

Best,
Jim


On Thu, Nov 14, 2013 at 10:30 AM, dantran <da...@gmail.com> wrote:

> Hi I have a need to transport a large amount messages from .NET into java
> and
> ActiveMQ seems to be a good good fit for this bridge.
>
> However, I am running into some performance that I need to understand.
>
> The flow of the transport, consisting of NMS client to push messages, 1K
> each, into multiple queues concurrently ( varies from 1 to 500) via
> openwire
> TCP as localhost
>
> On the java side,  i have embedded activemq configured with the following
> info:
>
>   - no persistent
>   - each queue memory is configurable
>   - data get pulled out using one thread per queue as fast as it can
>     ( why I not using message listener may not relevant in this scenarios).
>   - messages can be either sent in block using transaction or no
> transaction.
>
> Here are the results of 300 queues, on my 4 CPU (1 socket)
>
>   - the java side max out at 7K msg/sec
>   - each queue memory usage are slow at jmx side, mean java are able to
> keep
> up the incoming ingest
>   - CPU from window task manager show %68 average this include both java
> and
> .net process,
>     but the .NET side double the java broker/consumber side
>
> is it normal at the NMS client producer side?
>
> Huge thanks for any suggestion/advice
>
> Thanks
>
> -Dan
>
>
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Apache-NMS-ActiveMQ-openwire-client-performance-tp4674488.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>