Use this task to improve the performance of business processes.
Before you begin
After successfully running business processes, you can perform this
task to improve performance.
Steps for this task
- Define how to measure the baseline performance, and which measurements
you want to optimize.
For example, for some business applications,
it is preferable to reduce the response time for end-users under peak-load
conditions. For other applications, the rate that the system can process transactions
might be more important than the actual duration of each transaction.
- Make baseline measurements.
Make the baseline measurements
under conditions of load, time-of-day, and day-of-week that are appropriate
for tuning your application.
- Tune the processes.
Depending on whether your application
uses long-running processes or microflows, perform one of the following steps:
- To tune long-running processes, perform the steps that are described
in Tuning long-running processes. These processes are characterized
by needing external stimuli or human interaction. Their performance therefore
depends on the performance of the Business Process Choreographer database
and the messaging service.
- To tune microflows, perform the steps that are described in Tuning microflows. These processes tend to run for
only a short time. They use the database only for audit logging, if enabled,
and to retrieve the template information. They do not use messaging support
for storing persistent data. These processes involve no human interaction.
- Optional: Tune the application.
Many
different options are available to achieve the same functionality in an application,
and some of them are more efficient than others. Identify and review any performance-critical
code. Maximize asynchronicity, and ensure that actions are not unnecessarily
serialized. Consider the overhead of serializing and deserializing data that
is passed along a chain of activities. Consider shortening timeouts that do
not result in error conditions. Identify opportunities to cache the results
of database queries.
- Optional: Review the current configuration for performance
bottlenecks that can be eliminated.
Possibilities to consider
include:
- Installing more processors, more memory, and faster disks.
- Storing the database logs on different physical disks from the data, and
distributing the data on several disks.
- If the database supports table spaces, such as DB2® or Oracle, distributing the INSTANCE
table space across two or more disks or a striped RAID array.
- Not mixing application server and non-application server-related workloads
on the same logical disk.
- Using DB2,
rather than Cloudscape™,
for optimal performance.
- Repeat the benchmark measurements under similar load conditions
to those of the baseline measurements.
Keep a permanent record
of the application performance measurements to objectively measure any future
changes in performance.
Result
The business processes are configured to run measurably faster.