科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道使用 CEMT 交易调整优化 CICS 系统运行

使用 CEMT 交易调整优化 CICS 系统运行

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

笔者根据工作中长期使用这些内置交易的经验,撰写了两篇文章来比较详细的介绍上述的两个CICS交易(CSTD和CEMT)的用法,期望以此能够对广大的TXSeries-CICS用户的工作有所帮助。

作者:ibm 来源:ibm 2007年10月8日

关键字: 应用 系统 技术 中间件

  • 评论
  • 分享微博
  • 分享邮件

1. 前言

我们在先前的文章中曾经介绍过如何使用CSTD交易来分析TXSeries-CICS系统的交易处理性能。我们知道使用CSTD主要可用来获得CICS系统在运行期间的各种资源开销以及交易处理性能的统计数据,由此可对CICS系统当前的运行状态有了准确的评估和认识。这时候,结合我们的应用经验,就会在我们的头脑中形成对CICS系统的调整策略。

那么如何实施我们的调整策略呢?CICS产品内置交易CEMT可以帮助我们完成各种运行时资源分配的调整,这些主要调整包括:

  • CICS域(Region)中应用服务器数目调整;
  • 交易分类队列深度调整;
  • 关闭开启交易服务程序;
  • 观察当前运行的交易状态;
  • 清除挂起的交易;

此外,CEMT还提供了开启关闭跟踪(Trace)以及对系统做快照(Snapshot)等实用功能,为CICS问题诊断提供重要的原始数据。

更为重要的是,所有这些功能的发生,都不需要停止CICS应用系统来完成。这对关键系统生产运营的连续性无疑提供了有力的保障。





回页首


2. CEMT功能操作指引

CEMT屏幕包含了如下三个不同的功能区域:

  • 命令输入区域(屏幕的第一行)
  • 信息显示区域 (每屏19 行,屏幕大小24 x 80)
  • 程序功能键区域 (the last line of the screen).

命令输入区域

在命令输入区域可以输入任何CEMT命令,支持通配符操作,例如:


		INQ FILE(*)
	

信息显示区域

信息显示区域是位于命令输入区域和程序功能键区域之间的主要区域。CICS使用这个区域显示你可以在当前的命令上下文中使用的功能选项,或者是你所请求的操作(查询、设置)的结果信息。

程序功能键 (PF)区域

下面的列表解释了各个程序功能键的含义,如果你的键盘不支持PF键,则你可以使用<Tab>键来在屏幕上将光标定位到所需要的功能键上,然后按回车即可。

  • <PF1>
    显示帮助。
  • <PF3>
    从CEMT中退出,这样CICS就终止了你的CEMT交易执行,结束会话。但是,如果你正在编辑屏幕,CICS会忽略这个请求,并且不会终止你的会话。
  • <PF7>
    屏幕显示回翻半页。
  • <PF8>
    向后翻屏幕显示半页。
  • <PF9>
    展示消息。如果CICS为你的请求生成了多个消息,CICS在屏幕的底部显示一条消息告诉你有多少消息被产生了,<PF9>允许你在一个独立的屏幕上显示消息。
  • <PF10>
    向回翻一整页。
  • <PF11>
    向前翻一整页。





回页首


3. 使用CEMT查询并调整CICS资源属性配置

进入CEMT

CEMT交易(命令)可以用来完成很多系统动态参数调整及维护功能。在终端的主屏幕输入:CEMT,然后按回车,即可进入CEMT的主画面,如图:


图1. CEMT的主画面
图1. CEMT的主画面

说明:
这里,CEMT主要有4个功能选项:

  • Discard: 从FEPI(Front-End Programming Interface)中完全去除targets、nodes、pools, 或property sets。
  • Inquire: 查询并更改CICS域中各种资源属性的配置。
  • Perform: 执行对CICS系统做快照或关闭CICS域的功能。
  • Set: 以命令设置CICS各种资源属性。

输入大写字母标识的部分即可快捷地进入相应的功能界面。最常用的功能为:I(nquire)和S(et),也即查询资源配置和更改资源配置。由于在Inquire的界面同样可支持更改设置资源属性的操作,所以在实际应用中,我们往往使用Inquire的界面来完成查询并更改属性配置的工作,因此我们在本文中将主要来介绍如何使用"Inquire"来查询并调整资源属性的配置。

注意,并非所有的CICS资源属性都可以在CEMT中查询更改。在CEMT中对资源所做的变更,将只影响当前的运行。也就是说,一旦CICS域重新启动后,这些变更将会消失。所以,如果需要永久化当前的配置变更,还需要使用CICS资源配置命令来完成对永久资源库(Permanent Database)的更新。

使用Inquire查询并更改资源配置

在上面的屏幕中,输入:I,然后按回车,即可进入Inquire的主画面。如图:


图2. Inquire选项的主画面
图2. Inquire选项的主画面

说明:
这里列出了很多选项,你可以选择相应的选项以查询其当前的配置状态,并可以即时更改。其中,比较常用的选项有:

  • AUXtrace
  • DUMP
  • DUMPOptions
  • Monitor
  • System
  • Program
  • TAsk
  • TClass
  • TRACe
  • TRANsaction

打开/关闭CICS域的辅助跟踪(AUXtrace)设施

辅助跟踪设施主要是控制搜集到的CICS跟踪写入到外部文件中。"AUXtrace"这个功能主要是用来查看或设置"辅助跟踪"的状态(ON或OFF)。画面如图:


图3. 查询辅助跟踪功能状态
图3. 查询辅助跟踪功能状态

说明:
上图中,可以看到"辅助跟踪"是关闭(Off)状态。按"Tab"键,切换到"Off"域,输入:ON<空格>,然后按回车,即可更改"辅助跟踪"的状态为"On"状态。如下图:


图4. 更改辅助跟踪功能状态
图4. 更改辅助跟踪功能状态

说明:

  • "RESPONSE:"域: 指示的是本次交易执行的结果状态。"NORMAL"意味着执行成功。
  • "APPLID"域: 指示的所连接的Region的名字。
  • "9 MSG"域: 按"F9"可以看到本次交易执行的结果信息。

由于CICS跟踪会写入大量的数据至辅助跟踪文件中,因此此时会对系统的性能有一定影响。很多时候,我们需要快速而及时的打开/关闭对跟踪文件的写入操作,以控制跟踪文件的大小以及减少系统磁盘的I/O,CEMT提供的这个功能可使我们从容应对。

打开/关闭转储(DUMP)功能

使用DUMP这个功能可以使我们能够在线控制打开或关闭CICS Dump功能,这是CICS Dump的主开关控制。进入后如图:


图5. 查询转储功能状态
图5. 查询转储功能状态

说明:
可以按"Tab"键,切换到"Off"区域,输入:ON<空格>,然后按回车,即可修改Dump的状态为"On"。


图6. 更改转储功能状态
图6. 更改转储功能状态

在实际应用中,为了诊断CICS问题,我们需要事先打开Dump开关,设置Dump产生的条件,然后,在Dump条件得到满足时,即可自动生成Dump文件。一旦我们不在需要系统继续产生Dump,即可在此处随时关闭Dump开关,可以有效的控制Dump对系统的影响。

使用Dump选项(DUMPOptions)来控制生成的Dump类型

使用DUMPOptions这个功能主要用来查看或修改"ABDump"和"PCDump"的状态。如图:


图7. 查询转储功能选项
图7. 查询转储功能选项

说明:
图中我们可以看到,PCDump和ABDump的状态都是打开的状态。可以按"Tab"键,切换到"Pcd"域,输入:NOP<回车>,即可关闭PCDump。同理,ABDump也可以在"Abd"区域输入:NOA<回车>来关闭。结果如下图:


图8. 更改转储功能选项
图8. 更改转储功能选项

注释:
PCDump属性用来控制当一个ASRA Abend发生时,是否生成一个系统Dump还是生成一个交易Dump。
ABDump属性用来控制当一个ASRB Abend发生时,是否生成一个系统Dump还是生成一个交易Dump。

打开/关闭性能监控(Monitor)开关

使用Monitor功能可查看并设置"监控"的状态。如图:


图9. 查看设置监控开关
图9. 查看设置监控开关

说明:
我们可以看到,Monitor的状态为"On"状态。可以在"On"区域输入:Off<回车>,即可关闭"Monitor"。

这个功能可以使我们在系统运行时随时控制Monitor数据的产生。在使用此功能之前,系统的有关Monitor的配置应该先做好。





回页首


动态调整CICS域(System)中最大/最小应用服务器的数目

本功能可以用来查看并设置系统中应用服务器的数目。画面如下图:


图10. 动态调整CICS域的应用服务器数目
图10. 动态调整CICS域的应用服务器数目

说明:

上图中,我们可以看到,当前系统中配置的最大应用服务器数目为5个(MAXServer( 0005 ));最小应用服务器数目为1个(MInserver( 0001 ))。可以按"Tab"键,切换到上述的两个区域,并更改相应的值,即可即时调整系统中应用服务器的数目。更改会在回车后立即生效。注意:这种更改在CICS Region重新启动后失效。

这个功能对于生产运营具有重要意义。前面我们提到过,通过分析CSTD的统计数据,我们可以知道系统的应用服务器数目是否是足够的。如果怀疑由于应用服务器数目配置得过小而导致了性能瓶颈,可使用CEMT提供的此功能动态加大应用服务器数目配置,并即刻观察到变更的效果。

比如,系统处于一种处理缓慢的状态,所有的应用服务器进程都已经被有问题的交易占用了,而新的正常的交易请求不得不排队等候处理。这时候,我们可以使用此功能来加大应用服务器数目的配置,这样正常请求将会被及时的处理,而无需排队等待了。

还可考虑一种情形,在生产运行时候,系统的硬件资源(如CPU、内存)已经被消耗殆尽。这时候,我们可以使用此功能来降低应用服务器数目配置,以此来释放被CICS应用服务器进程占用的资源,降低CICS系统对系统资源的开销,有效的保护整个系统平稳的运行。

注意,这里的控制是对整个CICS域生效的,但具体的效果,还要与后续的调整(如有关交易类配置的调整)相配合。

开启/关闭某个程序(Program)服务

这个功能主要用来查看并设置系统中定义的程序(PD)的名字,类型,以及状态。如下图:


图11. 查看并设置PD状态
图11. 查看并设置PD状态

说明:
上图中,我们可以看到系统中定义的所有的PD的名字,以及其相应的类型(Map或C或C++),还有其相应的状态"Ena(ble)"。这里,我们可以按"Tab"键,切换到某一程序的"Ena"区域,输入:Dis<回车>,即可禁用这个程序(Disable)。更改立即生效。

这个功能对于实际的生产环境具有很好的意义,尤其是对于刚刚投产的系统,应用程序尚未完全稳定,这时候,可能由于个别的应用程序工作不正常,而导致整个业务系统的运行非常不稳定。我们可以使用这个功能,在生产运行时及时有效的停止问题程序的运行,从而保证整个系统的平稳运行。一旦问题解决,可随时在生产中开启程序的运行,而不需要重新启动系统。

查看并更改系统中正在运行的任务(TAsk)

这个功能主要用来查看并更改系统中当前正在执行的任务的状态信息。画面如图:


图12.查看正在运行的任务状态
图12.查看正在运行的任务状态

说明:
这里,每一个正在运行的任务的信息都占两行显示。

  • "Tas()"域: 指示这个Task的ID。
  • "Tcl()"域: 指示这个Task所属的交易类别。
  • "Tra()"域: 指示这个Task正在执行的交易名字。
  • "User()"域: 指示运行这个Task的cics用户名字。
  • "Processid()"域: 指示运行这个Task的进程的ID。

可以直接按"Tab"键,切换到你所希望实施更改的任务显示的区域,输入:P<回车>(清除任务),或者输入:F<回车>(强制清除任务),即可终止执行正在运行的任务。如图:


图13. 终止并清除任务
图13. 终止并清除任务

这个功能对于实际生产运行具有重要意义。我们由此可以观察到每个正在运行的CICS交易的实时状态。在正常的情况下,交易的状态在这里应该是"一闪而逝",显示交易迅速的被处理完毕。但在某些异常的状况下,如果某些交易处理缓慢或被挂起,则我们可以在这里发现它们的踪迹,我们可以确定这些交易的名字、正在运行的程序的名字、应用服务器进程ID等重要信息,从而为问题诊断处理提供关键依据。另一个重要的方面,我们可以在这里对那些正在"挂起"的交易进行及时清除,以释放其所占用的应用服务器等资源,从而缓解系统运行的压力。

查看并更改交易类属性(TClass)配置,以优化交易处理性能 "TClass"这个功能主要用来查看并更改交易类的配置。画面如图:


图14. 查看交易类属性配置
图14. 查看交易类属性配置

说明:
上图中,每一行代表一个交易类的信息,共10个交易类。

  • "Tcl()"列: 指示其所属的交易类别。
  • "Max()"列: 指示每个交易类的配置的最大可用的应用服务器数目。
  • "Act()"列: 指示每个交易类当前活动的请求的数目。
  • "Pur()"列: 指示每个交易类的配置的排队队列的长度。

你可以按"Tab"键,切换到各个交易类的输入区域(Max()和Pur()),更改各个交易类的最大可用应用服务器数目,或更改其排队队列的长度。更改立即生效。如图所示:


图15. 动态更改交易类属性配置
图15. 动态更改交易类属性配置

说明:
上图中,我们分别更改了交易1及交易类2的最大应用服务器数目为10和20;排队队列长度分别为100和200。

这个功能对于生产运行具有重要意义。前面我们谈到过,使用CSTD交易可以获得对CICS系统中各个交易类的应用服务器资源开销的统计数据,并可以分析出是否是交易类的应用服务器配置不合理导致了性能瓶颈。一旦我们有此怀疑,即可使用本功能实时地对生产系统进行干预调整,并能及时的观察调整的效果。

同样的,有时候我们希望降低某个交易类的应用服务器资源配置,以释放资源,也可使用此功能完成。

注意,这里的调整仅对本次运行有效,也就是说,CICS域重新启动后,这里所做的配置将会丢失。如果需要对当前的配置永久化,则仍然需要使用CICS资源管理命令来完成对永久库(Permanent Database)的更新。

另外,这里的调整应该与CICS域中配置的应用服务器最大数目相协调。才能达到期望的效果。比如,CICS域中最大应用服务器数目配置为50,则在交易类的变更里,每个交易类所分配的最大应用服务器数目不应该超过50,否则没有实际意义。

打开/关闭CICS跟踪(TRACe)

查看并设置"Trace"功能的状态(On或Off)。如图:


图16. 查看并设置CICS跟踪
图16. 查看并设置CICS跟踪

说明:
图中,我们可以看到,当前"Trace"功能的状态为"Off"。可以按"Tab"键,然后更改其为"On"状态。

此功能可以使我们能够动态的打开关闭CICS Trace功能。由于捕获CICS Trace往往会对生产系统有一定的影响,因此,能够在需要的时候打开/关闭Trace对于维护生产系统的高效稳定运营是有着积极的意义的。

查看更改交易(TRANsaction)属性,以优化系统运行此功能查看并更改系统中定义的交易的名字、优先级别、可用状态。画面如图:


图17. 查看设置交易属性
图17. 查看设置交易属性

说明:
一般我们可以更改"Ena"域为"Dis"来禁用某个交易,或反之。也可以提高或降低交易调度的优先级别。

同控制程序(Program)一样,我们可以来控制某些交易的运行。这对生产运行具有积极意义,尤其是对于做了交易分类配置的系统。我们可以通过禁用某个交易,来完全控制某一类程序的运行。比如,可以对业务应用系统中的各个子系统分配不同的交易映射,则可以通过关闭某个交易的手段来完全关闭某个子系统的运行。

使用Set功能

在CEMT的主画面中,输入:S<回车>,即可进入Set功能的主画面,如图:


图18. Set功能选项的主画面
图18. Set功能选项的主画面

说明:
这里,我们看到,所有的选项都存在于"Inquire"中。其实,在"Inquire"中,我们所使用的更改功能,完全覆盖了这里所提供的功能。所不同的是,这里提供了完整的快捷命令格式。一般情况下,我们建议使用"Inquire"中所提供的界面。

使用Perform功能

Perform功能可用来对Region做快照,或执行关闭CICS域的命令。在CEMT的主画面中,输入:P<回车>,即可进入Perform功能的主画面,如图:


图19. Perform功能选项的主画面
图19. Perform功能选项的主画面

说明:
此命令会在Region的Dump目录下生成"SNAPxxxxxx"字样的文件,使用cicsdfmt命令可以将其格式化成文本可读格式。最新版本的TXSeries 5.1也提供了"P SHUTDOWN"命令来关闭Region。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章