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
