L.S., There are really a number of things that can be involved in the poor performance you're experiencing. However, since you're experiencing the slowdown when adding more threads for servicemix-camel, let's try to look into that part first. Could you turn up the core thread pool size for that component and then get us a few thread dumps as things start slowing down. If adding threads slows things down, we should be able to see some of these threads either waiting of blocked, so perhaps the thread dumps can help us pinpoint the problem.
On the other hand, I also notice that some of your configurations are setting the maximum pool size to -1. Combined with the queue size of 0, that means that ServiceMix will create a new thread whenever all threads are active and more work arrives. I can imagine this can lead to very large thread pools when there's is slowdown somewhere in the system and that might as well be a cause for problems. Could you try restraining those thread pool sizes to some maximum instead on the current -1 (e.g. 64 or 96) Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ 2009/11/19 inter <[email protected]>: > > > I am using servicemix-web-3.3.1,runing in weblogic 10.3. > > I developed proxy service with servicemix-cxf-bc and servicemix-camel,the > follow is: > > > external client(load > runner)===>cxf-consumer===>camel===>cxf-provider===>external echo service > > My jvm parameter is: > -Xmx1400m -Xms1400m > > serviceMix's config: > servicemix.corePoolSize = 32 > servicemix.maximumPoolSize = 128 > servicemix.queueSize = 1024 > > I also reconfig the threadpool for the component: > <property name="configs"> > <map> > <entry key="component.servicemix-cxfbc"> > <bean > > class="org.apache.servicemix.executors.impl.ExecutorConfig"> > <property name="corePoolSize" value="64" /> > <property name="maximumPoolSize" value="-1" /> > <property name="queueSize" value="0" /> > </bean> > </entry> > > <entry key="flow.seda.servicemix-cxf-bc"> > <bean > > class="org.apache.servicemix.executors.impl.ExecutorConfig"> > <property name="corePoolSize" value="32" /> > <property name="maximumPoolSize" value="-1" /> > <property name="queueSize" value="0" /> > </bean> > </entry> > > <entry key="flow.seda.servicemix-camel"> > <bean > > class="org.apache.servicemix.executors.impl.ExecutorConfig"> > <property name="corePoolSize" value="4" /> > <property name="maximumPoolSize" value="-1" /> > <property name="queueSize" value="512" /> > </bean> > </entry> > </map> > > > (1) 20 concurrency , performance:60 Hits per Second,runing well; > > (2)50 concurrency , performance:80 Hits per Second at the beginning,but > will go down to 50 Hits per Second after about 5 minutes,then go down to > 30 after 60 minutes. > > (3)120 concurrency , performance:60 Hits per Second at the beginning, will > go down to 50 Hits per Second after about 5 minutes,then go down to 30 > after 60 minutes, at last 10 after about 8 hours. > > > No matter how I increase the number of concurrent client , the throughout > will not increase. > And I found that the key parameter is the camel's corePoolSize, > If I increase this parameter, throughput significantly decreased ,It seems > the best value of this parameter is 4。 > > And I used the netstat command to see network status,I found that,the > connections of client to cxf are 120, but the connections of cxf to > external service are only about 20! > > Is there anything configured wrong? > > > -- > View this message in context: > http://old.nabble.com/Load-Test-for--servicemix%27s--proxy-service-tp26420227p26420227.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > >
