用于用户日志和自动日志的结构大小

可以使用 z Systems ® 耦合设施结构 Sizer 工具 (CFSizer) 或提供的公式来计算用户日志和自动日志的存储需求。

CFSizer 计算假定耦合设施处于当前的 CFLEVEL。 提供的公式假定耦合设施处于 CFLEVEL 11。

使用 CFSizer 来确定结构大小

CFSizer 是基于 Web 的应用程序,与处于当前 CFLEVEL 的耦合设施进行通信以计算存储器需求。 对于用户日志和自动日志,它可计算适合 INITSIZESIZE 参数的值。 请参阅 System z 耦合设施结构 Sizer 工具 (CFSizer) Web 页面

要使用 CFSizer 来计算用户日志和自动日志的存储器需求,请输入以下信息:
每秒写入次数
每秒从单个系统写入日志流的日志块的数量。 此值在 CICS® 统计信息报告中可用。 请参阅 日志流报告
最大缓冲区大小
可写入日志流的最大日志块的大小(字节)。 该值必须为 1 到 65532 之间。 该值对应于日志流耦合设施结构的定义中的 MAXBUFSIZE 值。 请参阅 定义耦合设施结构
平均缓冲区大小
写入所有日志流的日志块的平均大小(字节)。 该输入用于确定结构的初始项/元素率。 该值对应于日志流耦合设施结构的定义中的 AVGBUFSIZE 值。 请参阅 定义耦合设施结构
日志流数量
分配给结构的日志流的数量。 该值必须在 0 到 512 之间。 在 CICS 环境中,日志流的数量应该在 10 到 20 之间。
对于用户日志和自动日志,CFSizer 使用以下缺省值:
Highoffload
80
Lowoffload
0

计算结构大小

计算 INITSIZE 和 SIZE 属性的值。 请参阅 针对 DFHLOG 计算 INITSIZE针对 DFHLOG 计算 SIZE

要计算 number_of_entries 的值,请使用以下公式:
number_of_entries = writespersec * 12.5

请参阅本主题稍后描述的 writespersec 的说明。

对于日志块没有强制放入日志流的日志,平均块大小往往会略小于为耦合设施结构定义的 MAXBUFSIZE 值。

对于具有强制写入日志的日志块的日志,可以使用 EXEC CICS WAIT JOURNALNAMEEXEC CICS WAIT JOURNALNUM 命令,也可以使用 EXEC CICS WRITE JOURNALNAMEEXEC CICS WRITE JOURNALNUM 命令的 WAIT 选项,根据针对给定 CICS 系统的同一日志流记录的每个日志记录的数据的加权平均值计算 AVGBUFSIZE。
AVGBUFSIZE = (bytespersec / (writespersec) + 36
其中:
  • bytespersec = (N1 * Wr1 * (D1 + rechdr) + ... (Nn *Wrn * (Dn + rechdr)))
  • writespersec = lesser of 25 or ((N1 * Wa1) + ... + (Nn * Wan)) 其中:
    • N1, .... Nn 是每秒钟写到日志的事务数量。
    • Wr1 .... Wrn 是每个事务的写请求数量。
    • Wa1 .... Wan 是每个事务等待请求的数量。
    • D1 .... Dn 是每个日志记录的平均记录长度。
    • rechdr 是每个记录的记录头长度。

自动日志记录从文件控制中发出。 它们也许是组成 204 个字节的记录头的 DATA SET NAME 记录,没有其他数据。 或者也可以是 READ ONLY、READ UPDATE、WRITE UPDATE、WRITE ADD 或 WRITE ADD COMPLETE 记录。 在这种情况下,rechdr 为 84 个字节,后跟文件控制记录本身。

用户日志记录包括 68 个字节的记录头,后跟用户前缀和用户数据。

如果计算结果表明,AVGBUFSIZE 的值大于为 MAXBUFSIZE 定义的值,那么将采用为 MAXBUFSIZE 定义的值作为 AVGBUFSIZE 的值,并按以下公式计算 writespersec
writespersec = bytespersec / (MAXBUFSIZE - 36)