Maximizing the performance of your CICS system
When you write programs that share data with other programs (for example, a program that will participate in IMS data sharing or a BMP), be aware of how your program affects the performance of the online system.
A BMP program, in particular, can affect the performance of the CICS® online transactions. This is because BMP programs usually make a larger number of database updates than CICS online transactions, and a BMP program is more likely to hold segments that CICS online programs need. Limit the number of segments held by a BMP program, so CICS online programs need not wait to acquire them.
One way to limit the number of segments held by a BMP or batch program that participates in IMS data sharing is to issue checkpoint requests in your program to commit database changes and release segments held by the program. When deciding how often to issue checkpoint requests, you can use one or more of the following techniques:
- Divide the program into small logical units of work, and issue a checkpoint call at the end of each unit.
- Issue a checkpoint call after a certain number of DL/I requests have been issued, or after a certain number of transactions are processed.
In CICS online programs,
release segments for use by other transactions to maximize the performance
of your online system. (Ordinarily, database changes are committed
and segments are released only when control is returned to CICS.) To more quickly free resources
for use by other transactions, you can issue a TERM request
to terminate the PSB. However, less processing overhead generally
occurs if the PSB is terminated when control is returned to CICS.