Hi,

We deployed a simple hello world process which does not communicate with
any other service. It showed very high throughput and concurrent
worker/treads in the system.

It is apparent that the issue is when the external services are invoked. We
tried moving the services to localhost as well, but didnt resolve this
issues. Even higher values to  maxConnectionsPerHost and
maxTotalConnections didnt show any effect.

Pati

On Tue, Feb 7, 2012 at 10:50 PM, Waruna Ranasinghe <[email protected]>wrote:

> Hi Tharindu,
>
> Since your process also have external service calls, you may need to tune
> the MultithreadedHttpConnectionManager connections
> i.e. maxConnectionsPerHost and maxTotalConnections
>
>
> Thanks,
> Waruna
>
> On 7 February 2012 16:20, Tharindu Patikirikorala <
> [email protected]
> > wrote:
>
> > Hi,
> >
> > I tried  <dd:process-events generate="none"/>  as well, but didn't
> improve
> > the throughout beyond 40 req/sec. The main issue we are facing is that
> the
> > limited number of threads/workers exist in the ODE engine to handle the
> > incoming requests.
> > As far as I know a incoming request is handled by a single worker thread
> > (just like in Apache server). Given the entire composition executes on
> > average in 0.1 seconds, when we theoretically calculate the number of
> such
> > workers for 40 req/sec, it is 4.  If we increase the execution time of
> the
> > composition to 0.2 sec the throughput reduces to 20 req/sec.
> >
> > For this academic project we need to increase the number of concurrent
> > worker threads exist inside the ODE at least to 20 without saturating the
> > server.   The pooling  configuration changes did not affect.
> >
> > Please let us know, if what we concluded was wrong or is there any other
> > way to increase the concurrency level.
> >
> > Thank you
> > regards
> > Pati
> >
> >
> >
> >
> >
> > On Mon, Feb 6, 2012 at 6:04 PM, abdulkadir yaman
> > <[email protected]>wrote:
> >
> > > Hi Tharindu,
> > >
> > > There is a configuration related to pooling, however this configuration
> > > differs depending on platform you are deploying Ode into. Anyway, take
> a
> > > look at
> http://ode.apache.org/ode-jbi-and-axis2-properties-overview.html.
> > >
> > > On the other hand, i saw something ~250 tps on my quad-core i5  and ~
> > 2000
> > > tps on our test server(multi-core,solaris ...) for a simple flow that
> > just
> > > sends a ws req to a mock web service.
> > >
> > > Have you tried <dd:process-events generate="none"/> in your deploy.xml,
> > > because default is <dd:process-events generate="all"/> and it consumes
> a
> > > lot of resources. Try this one and let me know if it works.
> > >
> > > Regards
> > >
> > >
> > >
> > > On Mon, Feb 6, 2012 at 9:50 AM, Tharindu Patikirikorala <
> > > [email protected]> wrote:
> > >
> > > > Hi ,
> > > >
> > > >  'in-memory' modification really helped to increase the throughput
> to a
> > > > large amount. Many thanks for that comment. However, what we noticed
> > was
> > > > that the number of concurrent threads exist inside ODE is very small.
> > For
> > > > example lets say a service invocation executes in 100ms and if we
> apply
> > > 40
> > > > request/sec only 4 threads or workers will be needed to cater that
> > > > workload.But, the following two cases saturates the sever
> > significantly,
> > > > making response time to grow large.
> > > > 1) If we go beyond 40 req/sec
> > > > 2) if the service execution time is 200ms and if we apply around 20
> > > > req/sec. (this also means that there is only 4 workers in
> > > > the scheduler theoretically).
> > > >
> > > > Is there a way to increase the concurrency level in ODE. After going
> > > > through the code we found that the PROP_THREAD_POOL_SIZE =
> integer.max.
> > > > However, the statistics shows that there is a significantly less
> > threads
> > > > serving the incoming requests.
> > > >
> > > > Please help us to understand this behaviour or configure the ODE so
> > more
> > > > threads can exist in the server concurrently.
> > > >
> > > > Regards
> > > > Pati
> > > >
> > > >
> > > > On Sun, Feb 5, 2012 at 3:53 AM, abdulkadir yaman
> > > > <[email protected]>wrote:
> > > >
> > > > > Hi,
> > > > > Do you need persitence capabilities for your Bpel flows?
> > > > > In case you do not need, consider in memory flows and disable
> default
> > > > event
> > > > > generation strategy. take a look at link below for in-memory tag.
> > > > >
> > > > > http://ode.apache.org/creating-a-process.html
> > > > >
> > > > > On 4 Feb 2012 18:14, "Tharindu Patikirikorala" <
> > > > [email protected]>
> > > > > wrote:
> > > > >
> > > > > HI All,
> > > > >
> > > > > I am installed ODE in a single instance and then deployed a  BPEL
> > > process
> > > > > which communicate with 3 simple services. Although, the execution
> > time
> > > of
> > > > > this process is quite low (400 ms), the throughput (request/sec)
> from
> > > >  ODE
> > > > > is  5 requests/sec, which is very low. Is there a way to tune ODE
> to
> > > > > process more  requests.
> > > > >
> > > > > Appreciate any comment, this is for academic purposes.
> > > > >
> > > >
> > > >
> > > >
> > > > >
> > > > > Thank you
> > > > > Regards
> > > > > Pati
> > > > >
> > > >
> > >
> >
>
>
>
> --
> -----------------------------------------------------
> Regards,
> Waruna Ranasinghe
>
> www.wso2.com - "Lean . Enterprise . Middleware"
>
> blog: http://warunapw.blogspot.com
> twitter: http://twitter.com/warunapww
> http://lk.linkedin.com/in/waruna
> www.facebook.com/waruna.ranasinghe
>

Reply via email to