Use this task to improve the performance of interruptible business processes.
Why and when to perform this task
Interruptible processes include user-interaction, they use database and messaging subsystems for storing persistent states and reliable communications. The performance of interruptible processes can be improved by tuning the database, the messaging system, and the application server settings.Steps for this task
Separate disks are preferred over using RAID arrays because that gives more fine grained tuning capabilities. When using RAID arrays the optimum number of disks is higher, because of the redundancy required for fail-over capabilities.
Note: The recommended memory for the application server, when running process choreographer, is more than the default value. How to tune the application server heap size is described later, when tuning thethe application server.
db2 UPDATE DB CFG FOR BPEDB USING NEWLOGPATH F:\db2logs
CREATE DATABASE BPEDB ON D:/BPE USING CODESET UTF-8 TERRITORY en-us;
-- Scriptfile to create tablespaces for DB2 8.1 -- to run the script call -- db2 connect to BPEDB -- db2 -tf createTablespaceDb2.ddl CREATE TABLESPACE TEMPLATE MANAGED BY SYSTEM USING( 'D:/BPE/TEMPLATE' ); CREATE TABLESPACE STAFFQRY MANAGED BY SYSTEM USING( 'D:/BPE/STAFFQRY' ); CREATE TABLESPACE AUDITLOG MANAGED BY SYSTEM USING( 'E:/BPE/AUDITLOG' ); CREATE TABLESPACE COMP MANAGED BY SYSTEM USING( 'D:/BPE/COMP' ); CREATE TABLESPACE INSTANCE MANAGED BY SYSTEM USING( 'D:/BPE/INSTANCE', 'E:/BPE/INSTANCE'); CREATE TABLESPACE WORKITEM MANAGED BY SYSTEM USING( 'F:/BPE/WORKITEM' ); CREATE TABLESPACE SCHEDTS MANAGED BY SYSTEM USING( ' F:/BPE/SCHEDTS' );
Note: On Windows systems, not all versions of WebSphere MQ allow you to set the number of log file pages to 16384 using the MQ administration tools. A workaround is to change the value of the Windows registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\IBM\MQSeries\CurrentVersion\Configuration\LogDefaultsto 16384.
Make sure that the total memory allocated to applications is no larger than the amount of physical memory available, otherwise paging will significantly reduce your system's performance, and it might even impact the stability of your system.
If your database is running on the same machine as your application server, any extra memory allocated for heap size, will probably have to be subtracted from the memory allocated to the database. Since it is recommended to allocate all remaining physical memory to the database, use the following equation to rebalance the allocation for the database:
Memory for database = (Physical memory - Memory for operating system - Memory for application server - Memory for WebSphere MQ)
Set the value of the non.asf.receive.timeout property to the average time in milliseconds required to process a message. When applied to process choreographer that corresponds to the time required to process an activity in an interruptible process.
Tests in a lab environment gave the following results:
2004-08-25-15.53.42.078000 Instance:DB2 Node:000 PID:2352(db2syscs.exe) TID:4360 Appid:*LOCAL.DB2.027785142343 data management sqldEscalateLocks Probe:4 Database:BPEDB ADM5503E The escalation of "10" locks on table "GRAALFS .ACTIVITY_INSTANCE_T" to lock intent "X" has failed. The SQLCODE is "-911".Getting such messages indicates that the parallelism for business process applications has improved so much, that number of locks available is now too small. It is recommended to increase the LOCKLIST value to approximately (10 * P).
db2 UPDATE DB CFG FOR BPEDB USING LOCKLIST 500
Results
Your interruptible processes are running as fast as possible under the current environment and loading conditions.