JBossSOA/ESB + JBossMessaging Performance
heyyou Apr 18, 2011 11:46 AMEnvironment:
JBoss SOA/ESB 5.0.2 with JBossMessaging.
RHEL
Sun JVM 1.6 ( heapsize = 4GB)
Hello,
When I run a simple JMS routing scenario, I get increditably low message rate ( 126 msg/sec) using JBoss ESB + JBoss Messaging.
The scenario is to simply route all messages from inbound JMS queue (queue/IN) to an outbound JMS queue (queue/OUT). Below
is a snipet from my jboss-esb.xml. I do not want persistence. I have tried different # of threads and interesting enough that going with
300 threads ( seems excessive ) is giving me better performance. I might get one GC during a run and its a minor GC, so GC is
not slowing down JBoss. The system utilization is running real low .. about 10-15%.
For such a simple configuration, any tips/pointers that might help improve the message rate?
<providers>
<jms-provider name="JBossMessaging" connection-factory="ConnectionFactory">
<jms-bus busid="inbound">
<jms-message-filter dest-type="QUEUE" dest-name="IN" />
</jms-bus>
<jms-bus busid="internal">
<jms-message-filter dest-type="QUEUE" dest-name="queue/INTERNAL" />
</jms-bus>
</jms-provider>
</providers>
<services>
<service category="JMSPassthru" name="SimpleListener" invmScope="GLOBAL"description="JMS passthru sample">
<property name="maxThreads" value="300"/>
<listeners>
<jms-listener name="JMS-Gateway"
maxThreads="300"
busidref="inbound" is-gateway="true" />
<jms-listener name="JMSpassthru"
busidref="internal"/>
</listeners>
<actions mep="OneWay">
<action name="outbound"
class="org.jboss.soa.esb.actions.routing.JMSRouter">
<property name="connection-factory"
value="ConnectionFactory"/>
<property name="jndiName"
value="queue/OUT"/>
<property name="unwrap" value="true"/>
<property name="persistent" value="false"/>
</action>
</actions>
</service>