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

Reply via email to