线程安全文件控制应用程序

缺省情况下, CICS® 强制由线程安全应用程序发出的文件控制命令在 QR TCB 上运行。 如果将系统初始化参数 FCQRONLY 更改为指定 NO ,那么本地 VSAM LSR 或 RLS 文件的文件控制命令可以在 L8 或 L9 TCB 上运行。

使用线程安全文件控制可以显着提高具有多个可用处理器的 CICS 区域的吞吐量。 发出文件控制命令时,当前在 L8 或 L9 TCB 上运行的任务不会切换回 QR TCB ,而是继续在 L8 或 L9 TCB 上运行。 这些任务受益于更高的并行性和更高的任务吞吐量。 对于将文件控制命令与 DB2® 或 WebSphere® MQ 请求组合在一起的线程安全应用程序,处理器减少和更快的吞吐量是显而易见的。

要从线程安全文件控制中获益,应用程序必须满足以下需求:
  • 必须使用 CONCURRENCY (THREADSAFE) 或 CONCURRENCY (REQUIRED) 来定义程序资源。
  • 发出的文件控制命令必须是本地 VSAM LSR 或 RLS 文件。
  • 必须为运行文件控制命令的 CICS 区域指定系统初始化参数 FCQRONLY=NO FCQRONLY=YES 是缺省值。

线程安全文件控制有利于 CICS 区域,其中文件定义为 CICS 区域的本地文件,并且是 VSAM LSR 或 RLS。 从文件控制角度来看,在具有混合文件类型的 CICS 区域中,请考虑指定系统初始化参数 FCQRONLY=NO。 然后定义使用 CONCURRENCY (THREADSAFE) 访问本地 VSAM LSR 或 RLS 文件的程序,以及使用 CONCURRENCY (QUASIRENT) 访问其他文件类型的程序。 如果 CICS 区域中的文件不是本地 VSAM LSR 或 RLS ,请使用缺省系统初始化参数 FCQRONLY=YES

函数输送到文件拥有区域 (FORs) 的请求

如果您将文件控制请求从应用程序拥有区域 (AOR) 传递到文件拥有区域 (FORs) ,请按如下所示选择 FCQRONLY 的设置:
  • 对于使用基于 TCP/IP 的 IP 互连 (IPIC) 连接的 CICS TS 4.2 或更高版本的 FORs ,请指定 FCQRONLY=NO 以优化这些连接的性能。
  • 对于使用基于 SNA 连接的 MRO 链路或 ISC 的 FORs ,请指定 FCQRONLY=YES 以优化这些连接的性能。 另外,对于早于 CICS TS 4.2的所有 FORs ,请使用 FCQRONLY=YES

如果 AOR 函数将其所有文件控制请求都交付到 FORs ,并且没有本地文件,那么可以将缺省 FCQRONLY=YES 用于 AOR ,因为该区域无法从线程安全文件控制中获益。 对于具有一些本地文件的 AOR ,根据区域中的文件类型选择 FCQRONLY 的设置。