here is an update on this...

By using a different HTTP endpoint (servicemix-http instead of Camel's) I'm
able to get better multi-threaded execution and slightly higher CPU
utilization on this Solaris box (~10-15%).  The issue is that my overall
throughput is still extremely low.  Any ideas about what could cause this? 
Are there any known issues with Solaris?

I'm able to process ~150-200 msg/sec on my laptop (2.4Ghz, Core 2 Duo, 4GB),
but am only seeing roughly ~60 msg/sec with the identical build on this
Solaris box.  Supposedly this box should be able to handle a substantially
higher level of traffic (8 CPU core's, 8GB RAM, etc.).  Have tried both Sun
and JRockit JVMs as well...no difference.  

I have been playing around with the threading configuration (increases 3-4x
what I have setup on my machine).  Still the CPU load stays low on this
machine (10% vs. 80% on my laptop) and throughput is terrible.  It is able
to consume the HTTP traffic quickly, but just queues up in front of my JBI
service that processes the data. 

The HTTP component is the only one able to really get high throughput,
everything else just queues up downstream.  I have increased my thread
configuration as follows...

        <property name="configs">
                <map>
                  <entry key="flow.jms.servicemix-http">
                        <bean
class="org.apache.servicemix.executors.impl.ExecutorConfig">
                          <property name="corePoolSize" value="2"/>
                          <property name="maximumPoolSize" value="4"/>
                          <property name="queueSize" value="1024"/>
                        </bean>
                  </entry>
                  <entry key="flow.jms.servicemix-jms">
                        <bean
class="org.apache.servicemix.executors.impl.ExecutorConfig">
                          <property name="corePoolSize" value="32"/>
                          <property name="maximumPoolSize" value="64"/>
                          <property name="queueSize" value="1024"/>
                        </bean>
                  </entry>
                  <entry key="flow.seda.servicemix-bean">
                        <bean
class="org.apache.servicemix.executors.impl.ExecutorConfig">
                          <property name="corePoolSize" value="64"/>
                          <property name="maximumPoolSize" value="128"/>
                          <property name="queueSize" value="1024"/>
                        </bean>
                  </entry>
                  <entry key="flow.seda.servicemix-camel">
                        <bean
class="org.apache.servicemix.executors.impl.ExecutorConfig">
                          <property name="corePoolSize" value="32"/>
                          <property name="maximumPoolSize" value="64"/>
                          <property name="queueSize" value="1024"/>
                        </bean>
                  </entry>
                </map>
        </property>

thanks in advance...

-----
Ben - Senior Consultant

-- 
View this message in context: 
http://www.nabble.com/ServiceMix-multi-threaded-execution-tp24508532p24759936.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to