You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Gert Vanthienen <ge...@gmail.com> on 2009/11/19 22:41:13 UTC
Re: Load Test for servicemix's proxy service
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 <ga...@126.com>:
>
>
> 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.
>
>
Re: Load Test for servicemix's proxy service
Posted by inter <ga...@126.com>.
Hi,Gert
First of all thank you for your attention and reply!
During the test,I have monitored the num of threads.
It will not be unlimited growth, but will stabilize to a certain level
of about 200.
So i don't think the threadPool's size is clause.
I will keep with the test,and upload some thread dumps later.
Regards
Gert Vanthienen wrote:
>
> 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 <ga...@126.com>:
>>
>>
>> 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.
>>
>>
>
>
> -----
> ---
> Gert Vanthienen
> http://gertvanthienen.blogspot.com
>
--
View this message in context: http://old.nabble.com/Load-Test-for--servicemix%27s--proxy-service-tp26420227p26454138.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.