记录
由于日志记录成本包含对耦合设施的同步访问所产生的一些可变成本,因此此处以 CPU 时间的毫秒数来记录这些成本。
在查看访问可恢复资源的成本时,将日志缓冲区写入主存储器的成本已与 API 成本分离。 FORCE 和 NOFORCE 是对系统日志缓冲区的两种类型的写操作。
- FORCE 操作请求将日志缓冲区写出并使其非易失性。 发出此请求的事务将暂挂,直到进程完成为止。 日志不会立即写出,而是使用内部算法延迟。 第一次强制写入日志会设置延迟日志清空的时钟信号。 请求日志强制的后续事务会将其数据放入缓冲区并暂挂,直到原始延迟时间到期为止。 这允许对日志请求进行缓冲,这意味着在许多事务之间共享写入日志缓冲区的成本。
- NOFORCE 操作将数据放入日志缓冲区,当请求 FORCE 操作或缓冲区变满时,会将该数据写入主存储器。
写入日志缓冲区的成本有所不同,具体取决于下列哪种情况适用:
- 写入与耦合设施同步
- 写操作对耦合设施是异步的
- 正在使用登台数据集
- 正在使用仅 DASD 日志记录
- 同步写入耦合设施
- 大小小于 4 K 的写操作通常是同步的。 同步写操作使用直接访问耦合设施的特殊指令。 只要访问耦合设施并返回,该指令就会持续很长时间。 此访问时间 (称为 CF 服务时间) 既取决于耦合设施的速度,也取决于它的链路速度。 可以使用 RMF III 来监视 CF 服务时间,如 图 1中所示。 对于同步写入,访问的 CPU 成本会随着 CF 服务时间的更改而更改; 对于异步写入,情况并非如此。
- 异步写入 CF
- 异步写入不使用同步写入所使用的相同指令。 执行异步日志写入的 CICS® 任务会放弃对另一个任务的控制,该操作由记录器地址空间完成。
有关日志记录的更多信息,请参阅 CICS 日志记录和日志记录: 性能和调整。