Last updated on NOVEMBER 03, 2016
Applies to:Oracle SOA Platform - Version 220.127.116.11.0 to 18.104.22.168.0 [Release 11gR1]
Information in this document applies to any platform.
Synchronous BPEL process invoking the same EJB several times. Diagnostics indicate that BPEL appears to be blocking on calls to the EJB. The EJB itself is performing fine (tried with a separate EJB Client) , but when under load there seems to be contention between BPEL processes making ready to call the EJB (stateless). Having this tested with 600 BPEL instance thus spawning 4200 invocations of the EJB. Looking at the thread dump, there seems to be heavy lock contention because each request seems to be invoking the JAXB classloader. This will obviously not scale and will also have a latency overhead even on a single threaded basis.
When performing load testing on bpel processes that use SCA to invoke java classes, it can be seen contention on the engine and invoke thread pools. Performance is poor, and the instance cannot take advantage of the available CPUs.
Contention appears using default values of the invoke thread pools (20 threads) and the engine thread pools (30 threads). CPU use do not exceed 40% (20% per instance)
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms