If you have a LiveCycle Process Management ES2 system with lots of long-lived orchestration (process) instances pending but with low CPU utilization, increasing the pool size for the service that represents the orchestration will improve throughput.
To configure this:
1) Navigate to Services->Applications and Services->Service Management
2) From the ‘Category’ dropdownlist, choose the category of your long-lived orchestration
3) Click on it (it’s an HTML link)
4) In the page that loads, click on the Pooling tab
5) In the ‘Request Processing Strategy’ dropdownlist, choose “Pooled Instances for All Requests”.
6) Set ‘Maximum Service Instance Pool Size’ to a high number such as 200
7) Set ‘Maximum Asynchronous Service Instances’ to 10.
8) Hit ‘Save’
To verify, navigate to Services->LiveCycle Process Management ES2->Process Search
1) Choose ‘Process Status’ as “RUNNING”
2) In the ‘Process Category’ dorpdownlist, choose your long-lived orchestration’s category
3) In the ‘Process Name – Version’ dropdownlist, choose your process name
4) Click ‘Search’
The number of items in the ‘RUNNING’ status should roughly equal the number you configured for ‘Maximum Asynchronous Service Instances’ (this assumes that there’s a lot of pending work that is backed up).
Check the CPU utlization on the server. If it still low, increase the ‘Maximum Asynchronous Service Instances’ by counts of 5 or 10 until CPU utilization is maximized.
Conversely, if you have one long-lived orchestration (process) that hogs the CPU a lot more than it should, you can use this same tuning knob to control its behavior so that other processes get access to CPU resources. This comes in handy when you deploy processes with different Service Level Agreements (SLA) on the same LiveCycle server instance(s) – those with stricter SLAs can be provided with a higher “Asynchronous Service Instance” pool size.