Logging

Because logging costs contain some of the variable costs incurred by synchronous accesses to the coupling facility, they are documented here in terms of milliseconds of CPU time.

When looking at the cost of accessing recoverable resources, the cost of writing the log buffer to primary storage has been separated from the API cost. FORCE and NOFORCE are the two types of write operations to the system log buffer.
  • The FORCE operation requests that the log buffer is written out and is made non-volatile. The transaction that made this request is suspended until the process completes. The log is not written out immediately but is deferred using an internal algorithm. The first forced write to the log sets the clock ticking for the deferred log flush. Subsequent transactions requesting log forces will put their data in the buffer and suspend until the original deferred time has expired. This permits buffering of log requests and it means that the cost of writing the log buffer is shared between many transactions.
  • The NOFORCE operation puts the data into the log buffer, which is written to primary storage when a FORCE operation is requested or the buffer becomes full.
The cost of writing a log buffer varies, depending on which of the following situations applies:
  • The write is synchronous to the coupling facility
  • The write is asynchronous to the coupling facility
  • A staging data set is being used
  • DASD-only logging is being used
Synchronous writes to the coupling facility
Writes of less than 4 K in size are generally synchronous. A synchronous write uses a special instruction that accesses the coupling facility directly. The instruction lasts for as long as it takes to access the coupling facility and return. This access time, known as the CF Service Time, depends on both the speed of the coupling facility and the speed of the link to it. CF Service Times can be monitored using RMF III, as shown in Figure 1. For synchronous writes, the CPU cost of the access changes as the CF Service Time changes; this is not true of asynchronous writes.
Asynchronous writes to the CF
Asynchronous writes do not use the same instruction used by synchronous writes. A CICS® task that does an asynchronous log write gives up control to another task, and the operation is completed by the logger address space.

For more information about logging, see CICS logging and journaling: Performance and tuning.