qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajith Attapattu <rajit...@gmail.com>
Subject Re: Performance troubles with qpid and mule
Date Tue, 24 Nov 2009 03:48:14 GMT
Henry,

I am not familiar with Mule, so bear with me If I make any wrong assumptions.
By looking at the config it seems that there are 10 consumers on the queue.

1. Have you verified how many messages are present on the queue?

2. You mentioned all messages are delivered to the same endpoint.
Could there be any contention while delivering to that endpoint?
    What is the result if you only have a single connection (single consumer)?

3. Another point to remember is that with 10 consumers you will have
10 dispatcher threads + 10 IO receiver threads in the client JVM.
    This is in addition to the threads that are already present in Mule.
     Have you verified the CPU usage?

4. Have you verified the memory usage for each process?

5. I assume you were using the java broker. As Carl pointed out, just
to verify the broker setup, it might be worth repeating the experiment
with the c++ broker if possible.

On a general note, I would start with a single consumer and work my way up.

Regards,

Rajith

On Mon, Nov 23, 2009 at 8:18 PM, Henry Robinson <henry@cloudera.com> wrote:
> Hi -
>
> I'm getting disappointing performance reading from a Qpid queue into a
> simple Mule endpoint (that does essentially nothing) - about 150 msgs/s. I'd
> appreciate some guidance about performance tuning.
>
> This is all running on the same machine - an 8 core Xeon machine with 8Gb of
> RAM. Here's the relevant JMS configuration in Mule:
>
> <jms:connector name="JMSConnector"
>                   connectionFactory-ref="qpidfactory"
>                   specification="1.1"
>                   persistentDelivery="false"
>                   numberOfConsumers="10"
>                   maxRedelivery="2">
>    <receiver-threading-profile doThreading="true" maxThreadsActive="10"
> maxThreadsIdle="5" threadTTL="60000"/>
>    <dispatcher-threading-profile doThreading="true" maxThreadsActive="10"
> maxThreadsIdle="5" threadTTL="60000"/>
>  </jms:connector>
>
>
> If I jstack the mule process (unscientific, to be sure, but attaching a
> profiler causes the whole thing to die slowly under timeouts) I notice that
> the Dispatcher threads are almost all blocked on AMQConnection.createSession
> (which has a single-occupant critical section). So should I have enabled
> something that allows for session reuse? Alternatively, are there some other
> performance tweaks I can attempt? (I have looked here:
> http://qpid.apache.org/how-to-tune-m3-java-broker-performance.html already).
>
> Sorry if this is actually a Mule question, but as you can see the issue
> appears to be in Qpid code. Thanks in advance for your advice.
>
> cheers,
> Henry
>



-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Mime
View raw message