Download PDF (1.3 MB) - IBM Redbooks
Download PDF (1.3 MB) - IBM Redbooks
Download PDF (1.3 MB) - IBM Redbooks
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.13.5 Avoiding double buffering<br />
Because the database attempts to keep frequently accessed data in memory, in most cases,<br />
using file system caching offers no benefit. However, performance typically improves by using<br />
direct I/O, when files read by the database bypass the file system cache and only one copy of<br />
the data is held in memory. By using direct I/O, the system can allocate more memory to the<br />
database and avoid resource usage in the file system as it manages its cache.<br />
A further advantage can be gained on some operating systems, such as AIX, by using<br />
concurrent I/O. Using concurrent I/O bypasses per-file locking, shifting responsibility for<br />
concurrency control to the database and, in some cases, offering the possibility of more<br />
useful work to the adapter or the device.<br />
An important exception to this guideline occurs for large objects (LOB, BLOB, CLOB, and<br />
others) that are not buffered by the database itself. In this case, a possible advantage is to<br />
arrange for file system caching, preferably only for files that back large objects.<br />
4.13.6 Refining table indexes as required<br />
Business Process Manager products typically provide a reasonable set of indexes for the<br />
database tables they use. In general, creating indexes involves a tradeoff between the cost of<br />
queries and the cost of statements which insert, update, or delete data. For query-intensive<br />
workloads, providing a rich variety of indexes as required to allow rapid access to data makes<br />
sense. For update-intensive workloads, a helpful approach is to minimize the number of<br />
indexes defined, because each row modification might require changes to multiple indexes.<br />
Indexes are kept current even when they are infrequently used.<br />
Index design therefore involves compromises. The default set of indexes might not be optimal<br />
for the database traffic generated by a Business Process Manager product in a specific<br />
situation. If database processor or disk use is high or there are concerns with database<br />
response time, it might be helpful to consider changes to the indexes.<br />
DB2 and Oracle databases provide assistance in this area by analyzing indexes in the context<br />
of a given workload. These databases offer suggestions to add, modify, or remove indexes.<br />
One caveat is that if the workload does not capture all relevant database activity, a necessary<br />
index might appear unused, leading to a suggestion that it be dropped. If the index is not<br />
present, future database activity can suffer as a result.<br />
4.13.7 Archiving completed process instances<br />
Over time, completed process instances accumulate in the database of the servers. This<br />
accumulation can alter the performance characteristics of the solution being measured. It is<br />
helpful to archive completed process instances to ensure that the database size is controlled.<br />
If you do not archive completed process instances and Performance Data Warehouse events,<br />
they grow unbounded over time, which impacts overall system performance.<br />
One symptom of this problem is long query times on Business Process Definition (BPD) and<br />
TASK tables. Another symptom is that your process server database tables occupy too much<br />
disk space. Both of these symptoms occur because completed BPD instances are not<br />
deleted from the system automatically. After a BPD instance is completed, the instance is<br />
typically no longer needed and therefore can be removed from the Process Server database.<br />
Business Process Manager provides a stored procedure, LSW_BPD_INSTANCE_DELETE,<br />
which you can use to delete old instances. Archiving procedures are in the following technote:<br />
http://www.ibm.com/support/docview.wss?uid=swg21439859<br />
Chapter 4. Performance tuning and configuration 81