You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Guillaume Nodet <gn...@gmail.com> on 2006/08/01 15:03:44 UTC

Re: Tuning service mix

All threads are controlled using a WorkManager.
In Servicemix 3.0-M2, this work manager is configured in the
   conf/tx.xml
configuration file.
There are a number of parameters that can be configured, but are not
accessible directly from the container.
For example the SEDA queues capacity could be configured using
   <sm:container flowName="seda?capacity=100" />
or
   <sm:container>
     <sm:flows>
       <sm:sedaFlow capacity="100" />
    </sm:flows>
   </sm:container>

However, the queue size for delivery channels can only be configured using
JMX.
You may raise a JIRA for that.

Regarding the threading model, usually JBI components will start their own
thread pool.
However, servicemix components implements the MessageExchangeListener
interface
and use push delivery (instead of the jbi compliant pull mechanism).  This
means that
the thread is owned by the container and not the component.

-- 
Cheers,
Guillaume Nodet

On 7/29/06, anandhs <an...@gmail.com> wrote:
>
>
> Hi Bruce,
>
> We are in the process of evaluating service-mix. For that we plan to run
> some performance tests, so I wanted to know what the tuning parameters are
> for service-mix. May be I will ask specific questions
>
> Is there anything like tuning service-mix?
> How does it decide how many threads to have for NMR?
> If the connection between 2 in-vm services is asynchronous then we should
> have some thread pool somewhere?
> How do I throttle a service from handling more than a certain number of
> requests?
> With Seda flows there is buffering between services (as I understand it),
> is
> there an upper limit that can be set on the number buffered?
> We have looked a mule and it has  a thread pool for each service
> (component), is there anything comparable in service-mix?
>
> Thanks for you hellp
> Anand
> --
> View this message in context:
> http://www.nabble.com/Tuning-service-mix-tf2017005.html#a5556275
> Sent from the ServiceMix - User forum at Nabble.com.
>
>

Re: Tuning service mix

Posted by Guillaume Nodet <gn...@gmail.com>.
It seems there is a problem here ;)
Each seda queue / component should have its own thread pool and not use
only one common thread pool, else deadlocks may happen as you just
experienced.  Could you raise a JIRA please, it should be fixed asap.

On 8/3/06, anandhs <an...@gmail.com> wrote:
>
>
> I tried to play with some of these, but it did not make a difference to
> our
> scenario.
>
> We have 2 services A and B. A makes sync requests to B. We have a JMS
> client
> that feeds requests to A and that triggers a sync request to B. We are
> trying to push some 5000 requests (not sequential). Now
>      With st flow - A gets all the responses from B and we are good
>      with Seda flow -  A gets some responses from B (sometimes none) and
> then all the threads are blocked on syncsend(), looks like B has no
> threads
> to service requests.
>      with JMS flow ( A and B on different VMs), we see the similar
> behavior
> as with seda flow
>
> With async requests everything works just fine. We have tried increasing
> seda capacity and workmanager thread count, that did not help.
>
> So what should we be configuring?
>
> Thanks
> Anand
> --
> View this message in context:
> http://www.nabble.com/Tuning-service-mix-tf2017005.html#a5640667
> Sent from the ServiceMix - User forum at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet

Re: Tuning service mix

Posted by anandhs <an...@gmail.com>.
I tried to play with some of these, but it did not make a difference to our
scenario.

We have 2 services A and B. A makes sync requests to B. We have a JMS client
that feeds requests to A and that triggers a sync request to B. We are
trying to push some 5000 requests (not sequential). Now
     With st flow - A gets all the responses from B and we are good
     with Seda flow -  A gets some responses from B (sometimes none) and
then all the threads are blocked on syncsend(), looks like B has no threads
to service requests.
     with JMS flow ( A and B on different VMs), we see the similar behavior
as with seda flow

With async requests everything works just fine. We have tried increasing
seda capacity and workmanager thread count, that did not help.

So what should we be configuring?

Thanks
Anand
-- 
View this message in context: http://www.nabble.com/Tuning-service-mix-tf2017005.html#a5640667
Sent from the ServiceMix - User forum at Nabble.com.


Re: Tuning service mix

Posted by anandhs <an...@gmail.com>.
I tried to play with some of these, but it did not make a difference to our
scenario.

We have 2 services A and B. A makes sync requests to B. We have a JMS client
that feeds requests to A and that triggers a sync request to B. We are
trying to push some 5000 requests (not sequential). Now
     With st flow - A gets all the responses from B and we are good
     with Seda flow -  A gets some responses from B (sometimes none) and
then all the threads are blocked on syncsend(), looks like B has no threads
to service requests.
     with JMS flow ( A and B on different VMs), we see the similar behavior
as with seda flow

With async requests everything works just fine. We have tried increasing
seda capacity and workmanager thread count, that did not help.

So what should we be configuring?

Thanks
Anand
-- 
View this message in context: http://www.nabble.com/Tuning-service-mix-tf2017005.html#a5640644
Sent from the ServiceMix - User forum at Nabble.com.