soa suite 11g bpel request handling is slow when many concurent requests are sent

1.5k Views Asked by At

We have a composite containing one mediator with sequential routing rule to bpel behind.

When single request is sent to the composite it is handled pretty fast (min=600ms, max=2s). But when we send 60 concurrent requests handling is much slower (min=2s, avg=6s, max=25s).

During investigation we found out that:

  1. Datasource pools were not exhausted (SOA_INFRA)
  2. CPUs on SOA server and database servers were doing nothing (5-10% usage)
  3. there is 15s lag between when request comes to the mediator and when it comes to bpel.

It seems like there are some other limited resources, e.g. max number of bpel instances running concurrently. But we are not able to find it and how to tune it.

How to tune SOA 11g to be able to serve concurrent requests faster?

Thanks!

1

There are 1 best solutions below

1
On

By default, BPEL components are "async" in that the message first gets persisted to the soainfra database, and then gets invoked using a dispatcher invoke threads (even on sync - request/reply components).

See the following Oracle doc for changing the BPEL process to be truly sync and run in the existing thread: http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/soa_transactions.htm#CHDBIDAA

See the following Oracle doc for increasing the number of dispatcher invoke threads if you prefer to not mess with the BPEL transaction properties: http://docs.oracle.com/cd/E25054_01/core.1111/e10108/bpel.htm#BABBGEFA