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 > > > > > >
