If the number of process instances in memory have reached the value of Max Jobs, then the process instances created are temporarily held on a disk. These process instances will be moved back into memory when sufficient memory is available.
Once the job pool is full, the job creator is suspended and is in a FLOW_CONTROLLED state. The job creator comes out of the
FLOW_CONTROLLED state after approximately half the value specified for
FlowLimit jobs are executed to completion.
Activation Limit can be set if a job that is blocked should remain in memory till completion. Setting the
ActivationLimit affects the engine performance substantially.
-Xms: Minimum amount of memory used
-Xmx: Maximum amount of memory used
For example, specify the following in the bwengine.tra to set the heap size to 768M and retrieve the garbage collection metrics for the engine.
ThreadCount specifies the number of process instances (jobs) that can be executed concurrently by BusinessWorks engine. By default, the thread count is eight.
You can specify the parameter, Engine.StepCount, to control the maximum number of steps executed (unless the job is in a transaction) for a job after which the thread yields to another job ready in the job pool. A low value of
StepCount can degrade the engine performance due to frequent thread switches. A high value of
StepCount may cause less concurrency in executing jobs and hence, result in an inefficient use of CPU.
Setting a high value for minProcessors can produce a large number of excessive threads and hence block the system resources.
Setting a low value for maxProcessors results in the following:
Setting a high value for maxProcessors results in the following:
When maxProcessors is low, you may wish to set
acceptCount to a higher value so that more client requests are accepted and queued, rather than being rejected.
Every JDBC Connection shared resource has a connection pool. The parameter Maximum Connections determines the connection pool size and hence, the maximum number of connection requests that can be processed by a JDBC shared resource.
For a typical scenario using a single JDBC Connection shared resource, ensure that the parameter Maximum Connections specified is inline with the engine thread pool size specified by the property
engine.ThreadCount.