分区外瞬时数据注意事项

实际上,分区外目标是 CICS® 使用 QSAM PUT LOCATE 或 PUT MOVE 命令的连续数据集。

要注意的主要性能因素是操作系统等待的可能性; 即,完整的 CICS 区域等待 I/O 完成。 由于下列其中一个原因,可能会发生长时间等待:
  • 没有可用的缓冲区空间。
  • 辅助空间是分配。
  • 卷 (扩展数据块) 切换可用。
  • 数据集已动态打开或关闭。
  • 应用程序已导致卷的强制结束。
  • 数据集是在物理打印机上定义的,并且打印机已用完纸张。
  • 已对同一卷上的另一数据集发出 RESERVE 命令。
因此,请通过以下方法尝试消除或最小化 CICS 区域等待的出现:
  • 具有足够的输出数据集缓冲和分块
  • 通过初始分配足够空间来避免卷切换
  • 在高峰期避免动态 OPEN 或 CLOSE 操作。

实现连续数据集的替代方法是使用 CICS 用户日志。 表 1 汇总了这两种方法之间的差异。

表 1. 分区外瞬时数据与用户日志
分区外 TD 用户日志
区域 (CICS) 可能等待 任务等待
缓冲区位置: 在 MVS™ 存储器中 缓冲区位置: 在 DSA 中
缓冲区数: 1-32767 2 个缓冲区
输入或输出 输入和输出,但任务可能等待
可由多个任务访问
  • 可由多个任务输出
  • 可由独占控制下的单个任务进行输入
分区外 TD 队列中性能成本的近似计算不包括任何 I/O 成本。 物理顺序文件的 I/O 操作大约花费 7 K ,并在以下情况下发生:
  • 尝试写入不适合任何缓冲区的项时。
  • 读取不在缓冲区中的项时。
  • 从 DASD 读取数据时,没有可用的缓冲区空间。 如果发生此情况,那么必须首先写出最近最少使用的缓冲区。
因此,在某些情况下, READQ 可能会产生两个 I/O 操作的成本。

分区外 TD 队列不可恢复。

writeq readq
1.2 1.0