选择高性能选项 (HPO)

高性能选项(HPO)是为其顶级优先权是优化终端响应时间和最大化事务吞吐量的用户而准备的。 通过降低事务路径长度,即减少对每个请求提供服务所需的指令数,HPO 可以提高性能。

使用 HPO 有可能使 CICS® 应用程序绕过所有 z/OS® 完整性控制。 如果您决定使用 HPO,请确保您的 CICS 系统上使用的应用程序符合您自己安装的完整性要求。 CICS中的代码支持 HPO 的 SNA 授权路径功能,这是通过 SNA 改进的路径。

将 DFHHPSVC 定义为 z/OS

将 DFHHPSVC 模块定义为 z/OS 类型 6 SVC。 DFHSIT 模块中定义的 HPO SVC 默认编号为 215。

要更改缺省类型 6 SVC 编号:
  1. 将新编号定义为 z/OS。 请参阅 安装 CICS SVC
  2. 使用 SRBSVC 系统初始化参数为 CICS 定义新编号。

如果不使用 HPO,请不要将 DFHHPSVC 模块加载到 z/OS 核中。 您选择通过在系统初始化表中编码 HPO=YES 来显式使用 HPO。

装入模块 DFHHPSVC

在使用 HPO 之前,请确保 z/OS 内核中包含 HPO SVC 模块。

使用以下方法之一:
  • 将 DFHHPSVC 模块复制到 SYS1.NUCLEUS 中,将其重命名为 IGC215 或适当的名称(如果不使用默认名称),并在 SYS1.PARMLIB 库的 NUCLSTxx 成员中的 INCLUDE 语句中指定它。 您还必须在 SYS1.PARMLIBLOADxx 成员的 NUCLST 语句中指定 NUCLSTxx 成员的名称。 与第二种方法中描述的 NMLDEF 方法相比,NUCLSTxx 方法在定制 z/OS 内核方面为您提供了更大的灵活性。

    有关 NUCLSTxx 成员编码以及与 NMLDEF 宏比较的详细信息,请参阅 z/OS MVS 初始化和调整指南

  • 将 DFHHPSVC 模块复制到 SYS1.NUCLEUS 中,并在 CICS 的核模块列表 (NML) 中指定它,该列表是使用示例作业中显示的 NMLDEF 宏创建的。 此 NML 将选择 CICS 中的 SYS1.NUCLEUS 中要加载到 z/OS 核中的成员,并消除了为 DFHHPSVC 模块或 z/OS 核中任何其他模块重新链接编辑 z/OS 核的要求。 有关 NMLDEF 宏的编码信息,请参阅 z/OS MVS Programming:授权汇编器服务参考(第 3 卷)

    示例作业流(见 图 1)将 CICS Type 6 SVC 加载到 z/OS 核中。

    图 1。 将 CICS 类型 6 SVC 装入 z/OS 核心的作业流示例
    //LOADSVC   JOB 'accounting info',MSGCLASS=A,CLASS=A
    //NMLDEF    EXEC ASMHCL
    //C.SYSIN    DD *
    IEANCnnn NMLDEF NUCL=DFHHPSVC
    //L.SYSLMOD DD DSN=SYS1.NUCLEUS,UNIT=3380,DISP=OLD
    //L.SYSIN DD *
      NAME IEANCnnn    1 
    /*
    //

    1 nnn 是 CICS NML 的编号,范围从 001 到 256。 选择 nnn 的值,使其在 z/OS 内核中唯一。

从 z/OS 核心中删除现有的 DFHHPSVC 模块

如果您的 z/OS 核心中已安装了 CICS 早期版本中的 DFHHPSVC 模块,则不必将其替换为最新版本。 CICS 早期版本中的 DFHHPSVC 模块版本与当前版本兼容。 CICS 的当前发行版中的 DFHHPSVC 模块版本与 CICS 的较早发行版兼容。

您不能使用 EXCLUDE 语句来排除先前通过链接编辑器链接到 IEANUC01 中的 CSECT。 不过,您可以通过运行链接编辑任务,用不包含要删除模块的版本替换现有版本,从而从 z/OS 核中删除 DFHHPSVC 模块的链接编辑版本,具体方法如下:
  • 如果 SMP/E 已经知道驻留在现有核心的 DFHHPSVC 模块,那么使用 SMP/E UCLIN 语句来除去这个模块项。
  • 必须使用散射(SCTR)属性来链接编辑核心模块 IEANUC0x。 如果不这样做,z/OS 将在系统初始化时进入不可重启的等待状态。

图 2 是将 DFHHPSVC 从 IEANUC01 中排除的 JCL 示例。

图 2。 从 IEANUC01 中排除 DFHHPSVC 的 JCL 示例
//CLNNUC   EXEC PGM=LINKEDIT,PARM='LIST,LET,NCAL,XREF,SCTR'
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  UNIT=SYSDA,SPACE=(TRK,(10,10))
//SYSLMOD  DD  DISP=SHR,DSN=SYS1.NUCLEUS
//SYSLIN   DD *
      REPLACE DFHHPSVC
      INCLUDE SYSLMOD(IEANUC01)
      NAME IEANUC01(R)

有关粘合剂选项的更多信息,请参阅 z/OS 程序管理用户指南和参考》中的活页夹选项