Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 9 Performance Tuning : Overview of Engine Performance

Overview of Engine Performance
The heart of the TIBCO ActiveMatrix BusinessWorks is the TIBCO ActiveMatrix BusinessWorks Engine.
The BusinessWorks engine handles a continuous stream of processes, each with a number of activities, in an operating environment with finite resources. Apart from scheduling process instances (jobs), the BusinessWorks engine also performs other functions like data validation, connection management, flow control, job recovery, logging, managing, and monitoring services.
In an enterprise world, the factors that influence performance range from physical hardware resources to individual steps in a process diagram. These factors are discussed under various sections in the TIBCO ActiveMatrix BusinessWorks documentation set. Table 5, Categories of Performance Factors for TIBCO ActiveMatrix BusinessWorks, lists some common BusinessWorks performance factors and references to the relevant sections in the TIBCO ActiveMatrix BusinessWorks documentation other than the current chapter.
Components Affecting the Engine Performance
This chapter gives an overview of the message flow architecture and the factors that affect the performance of the BusinessWorks engine.
Figure 6, Process Execution in BusinessWorks Engine, illustrates the way process instances are processed in BusinessWorks and the various factors that affect the performance of the engine.
Figure 6 Process Execution in BusinessWorks Engine
The process instances created are typically held in memory. However, this may not be the case if the following parameters are set:
Max Jobs: 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.
Flow Limit: When set, this property limits the number of process instances that can be created. If the number of process instances being created exceeds the value of FlowLimit, the engine suspends the creation of new process instances. However, it continues executing the process instances in memory. The engine resumes creating new process instances when process instances, approximately half the value specified for FlowLimit, have completed. See Controlling Execution of TIBCO ActiveMatrix BusinessWorks Services in Chapter 5, Setting Deployment Options for more information on FlowLimit property.
The number of process instances that can be created in memory is also limited by the memory available on the machine and the memory allocated to the JVM on which the process engine executes.
The process instances in memory are executed by the BusinessWorks engine. The number of process instances that can be executed concurrently by the engine is limited by the maximum number of threads, specified by property ThreadCount. Threads execute a finite number of tasks or activities uninterrupted and then yield to the next process instance that is ready.
The engine property StepCount determines the number of tasks that are executed by a thread uninterruptedly. However, the exceptions to StepCount occur when the job is blocked or in a transaction. When a job is in a transaction, the thread will not be released even if the StepCount is exceeded. However, if a process instance is waiting or is in a blocked state, it can be paged out and the freed memory used to process another process instance.
Activation Limit can be set if a process instance that is blocked should remain in memory till completion. Setting the ActivationLimit affects the engine performance substantially.
See Chapter 8, Custom Engine Properties for more information on setting these properties.
In addition to the components above, the performance of the BusinessWorks engine is also affected by external factors such as

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved