Configuration to allow more BPEL throughput

14 Views Asked by At

We are experiencing a throughput blocking issue. We are submitting requests to a controlling BPEL process that at the beginning has a "Receive" and a "Reply" activity. The controlling BPEL then orchestrates more web services with Invoke activities. The problem is we can only get about 7 of these top level processes started. As subordinate BPEL processes complete the top level "Receives" continue to respond, so everything completes. We control how many top level processes we want to invoke, but we need to understand how to control the limiting factor so we can increase or decrease calls to the top level process.

Each top level BPEL process is waiting on an invocation of one other BPEL process that has invoked a web-service to do work. All other Invokes have completed.

Environement: OpenESB 2.3 running on glassfish server (using jdk1.7.0_51). Number of cpus: grep -c ^processor /proc/cpuinfo 24

Memory: $ free -m total used free shared buff/cache available Mem: 23932 8481 2771 91 12679 14943 Swap: 15259 21 15238

Settings that are documented that we have tried: No setting has impacted the behavior of only starting 7 with blocking on the 8th request.

JVM memory settings -XX:PermSize=7168m -XX:MaxPermSize=7168m -Xmx8192m

sun-bpel-engine configuration Number of Threads: tried 24 tried 80 original value was 10

sun-http-binding Configuration Number of Outbound Threads: 500 was 10

Http Service: RequestProcessing Thread Count: 500 was 128

Connection Pool Max Pending Count: 4096 Maximum number of pending connections on the listen socket Queue Size: 4096 Bytes Receive Buffer Size: 4096 Bytes Send Buffer Size: 8192 Bytes

Casa QOS endpoint editing maximumConcurrencyLimit="300"

0

There are 0 best solutions below