The sections from Transaction initialization and termination onwards describe the relative costs of a subset of the CICS® API calls. To those costs must be added the variable costs described in this section.
Variable costs are encountered, for different machine configurations, when there is synchronous access to a coupling facility. For example, RLS and shared temporary storage use synchronous access to a coupling facility; so, for CF log streams, does the MVS™ logger. The variance occurs because a synchronous access instruction executes for as long as it takes to complete the access to the coupling facility and return. The number of central processing unit (CPU) cycles consumed during the request therefore depends on:
The following sections describe variable costs for logging and syncpointing.
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. The measurements have been taken on a 9672-R61 with a 9674-R61 coupling facility; they can be scaled to any target system, using the IT Relative Ratios (ITRRs) published in the IBM Large System Performance Report. This can be accessed through the IBM® System/390® web page (http://www.s390.ibm.com), more specifically, at http://www.s390.ibm.com/lspr/lspr.html.
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 cost of writing a log buffer varies, depending on which of the following applies:
Table 261 shows the costs of the various flavours of log writes. Note that, although CICS Transaction Server for z/OS® log writes are more expensive than those in pre-CICS Transaction Server for z/OS releases, a change in the logging algorithm means that the frequency of logging is less. The measurements were taken on a 9672-R61 with a 9674-R61 coupling facility.
Type of log write | CPU time in milliseconds | |
---|---|---|
CICS address space | MVS logger address space | |
CF synchronous (i.e. < 4K) | 1.754 * | - |
CF asynchronous (i.e. > 4K) | 2.354 | 0.771 |
Staging data set < 4K | 2.805 | 0.881 |
Staging data set > 4K | 1.939 | 1.520 |
DASD-only < 4K | 2.678 | 0.703 |
DASD-only > 4K | 2.680 | 0.720 |
*:
For a synchronous access to the coupling facility,
the figure for the CPU time in the CICS address space includes the CF Service
Time of 0.451ms. Note that, for a synchronous write to the coupling facility:
|
The syncpoint cost needs to be factored into the overall transaction cost. The amount of work at syncpoint varies according to the number of different types of resource managers (RMs) involved during the unit of work (UOW). Therefore, the cost can vary.
Typically, a syncpoint calls all the RMs that have been involved during the UOW. These may or may not need to place data in the log buffer before it is written out. For example, recoverable TD defers putting data into the log buffer until a syncpoint. Recovery manager itself puts commit records into the log buffer and requests a forced write. For these reasons it is difficult to give a precise cost for a syncpoint, but the following should be used as a guide:
A syncpoint can be split as follows:
Basic cost | 5.0 |
Put commit records in the log buffer | 2.0 |
For each RM used in UOW | 2.5 |
Write log buffer | See Logging |
This shows syncpoint costs, in 1K instruction units, for local resources only. If distributed resources are updated, communication costs will need to be added.
If no recoverable resources have been updated, the cost is only the transaction termination cost as described in Transaction initialization and termination.
[[ Contents Previous Page | Next Page Index ]]