PERFORMANCE CONSIDERATIONS - IBM Mainframe

One of the features of the on-line system is that the performance is very much visible. If the performance is good, the response times will be good. In this section we will consider some techniques to improve the performance of the system:

  • Since CICS gives the application program exclusive control between two CICS commands heavy CPU bound calculations should be avoided between two CICS commands.
  • If the application involves lengthy calculations, it should issue the SUSPEND or DELAY commands from time to time. The SUSPEND command suspends the task and gives control to higher priority tasks and when there are no high priority tasks the control will be returned to the original task. The DELAY command suspends the task for a specified time or until a specified time. It is always better to use SUSPEND command because it will optimize the entire CICS system throughput.
  • The application programs should execute itself sequentially without branches or branches should be minimal.
  • The subroutines should be placed near the caller.
  • The subroutines should be embedded in the caller rather than calling external the external subprograms, if possible.
  • The XCTL command should be used to transfer control to other programs instead of LINK command, which acquires an extra storage for itself.
  • The data should be initialized as close as possible to its first use.
  • The data structure should be defined in the order in which they are to be referred.
  • The GETMAIN command should be avoided.
  • Write modularized programs and structure the modules according to the frequency and anticipated time of reference.
  • Use commands such as READ, RECEIVE MAP, etc., with SET option rather than INTO option.
  • Specify the constant directly in the application program, rather than as a data variable in the working storage section.
  • Avoid long search for the data within the program.
  • Avoid the indirect addressing or chains in a table in order to find the right entry of the table.
  • Minimize the input/output operations for files, terminals, BMS, TDQ, TSQ, and main storage.
  • Minimize logging for DTB or system log.
  • Minimize the amount of sync points by avoiding the intermediate sync points as much as possible.
  • Minimize the duration of the exclusive control over the resource, especially the' duration between the READ/UPDATE and REWRITE commands and the duration between ENQ and DEQ commands.
  • Minimize the data traffic of the communication line by
    1. Using MAPONLY and DATAONLY options effectively in the SEND MAP Command
    2. Using ERASE and ERASEAUP options effectively in the SEND MAP command
    3. Avoiding the unnecessary use of MDT
    4. Do not send space characters to clear the screen, instead send LOW-VALUES, because CICS considers space as data while it does not consider LOW-VALUES as data, thus sending LOW-VALUES do not increase the data traffic but clears the field.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM Mainframe Topics