Open topic with navigation

ibi™ Open Data Hub for Mainframe Connectors 1.0.8

# Performance Considerations for PDS

There are several ways in which you can improve the server performance:

- Server initialization commands. You can specify DYNAM commands in member SRVINIT of the data set referenced by //EDACCFG DD in IRUNJCL. For more information, see Server Initialization Commands Configured in SRVINIT Member.
- Non-swappable address space. We recommend that you run the server in a non-swappable address space. For more information, see Running the ibi WebFOCUS Reporting Server in a Non-Swappable Address Space.
- Workload Manager (WLM). You can balance server workload by using Workload Manager. For more information, see Workload Manager.

## Server Initialization Commands Configured in SRVINIT Member

It is possible to specify DYNAM commands in member SRVINIT of the data set referenced by //EDACCFG DD in IRUNJCL. These commands will be executed during server startup and will be in effect until the server is shut down. You can execute the following DYNAM commands from SRVINIT:

-     DYNAM SET APP FOR  filetype [SKIP|CREATE] [POSTFIX a.b] [ parms]

  Specify the types of component files that are skipped or created for the application when an APP CREATE command is issued. By default, all component file types are generated.

  where:

  filetype

  Are the component types that may be affected by this command: ACCESS, DTD, ETG, FOCCOMP, FOCEXEC, FOCSTYLE, GIF, HTML, MAINTAIN, MASTER, SQL, WINFORMS, XML, XSD. You must issue a separate command for each component type you wish to affect.

  SKIP

  Indicates that the designated file type should not be created when the APP CREATE command is issued.

  CREATE

  Creates the designated file type when the APP CREATE command is issued. This is the default setting.

  POSTFIX

  Specifies the lower-level qualifier of the DSN (data set name) for the component type. The APPROOT value is used to complete the full DSN, which is expressed as

      approotvalue.appname.component_type

  The default value for component_type is

      filetype.DATA

  parms

  Are the allocation parameters you can set. The default parameter values are:

  Filetype | Parms
  --- | ---
  ACCESS |
      RECFM FB TRKS LRECL 80 BLKSIZE 22000 SPACE 50 50 DIR 50
  DTD |
      RECFM VB TRKS LRECL 4096 BLKSIZE 27998 SPACE 50 50 DIR 50
  ETG |
      RECFM FB TRKS LRECL 80 BLKSIZE 22000 SPACE 50 50 DIR 50
  FOCCOMP |
      RECFM VB TRKS LRECL 32756 BLKSIZE 32760 SPACE 50 50 DIR 50
  FOCEXEC |
      RECFM VB TRKS LRECL 4096 BLKSIZE 27998 SPACE 50 50 DIR 50
  FOCSTYLE |
      RECFM FB TRKS LRECL 1024 BLKSIZE 27648 SPACE 50 50 DIR 50
  GIF |
      RECFM VB TRKS LRECL 1028 BLKSIZE 27998 SPACE 50 50 DIR 50
  GIF type creates libraries for GIF and JPG files.
  HTML |
      RECFM VB TRKS LRECL 4096 BLKSIZE 27998 SPACE 50 50 DIR 50
  MAINTAIN |
      RECFM VB TRKS LRECL 4096 BLKSIZE 27998 SPACE 50 50 DIR 50
  MASTER |
      RECFM FB TRKS LRECL 80 BLKSIZE 22000 SPACE 50 50 DIR 50
  SQL |
      RECFM VB TRKS LRECL 32756 BLKSIZE 32760 SPACE 50 50 DIR 50
  WINFORM |
      RECFM VB TRKS LRECL 4096 BLKSIZE 27998 SPACE 50 50 DIR 50
  XML |
      RECFM VB TRKS LRECL 4096 BLKSIZE 27998 SPACE 50 50 DIR 50
  XSD |
      RECFM VB TRKS LRECL 4096 BLKSIZE 27998 SPACE 50 50 DIR 50

-     DYNAM APP app1 [app2 ...]

  Enable application libraries to be allocated during the server startup, improving performance. This command is not applicable to sequential data sets in the application (for example, FOCUS, FTM) which will only be allocated when they are referenced. For example:

  `DYNAM APP IBISAMP BASEAPP` (default command at installation time)

- `DYNAM ALLOC` commands

  For sequential data sets in the application (for example, FOCUS, FTM) to be allocated at server startup (equivalent to adding a JCL allocation for these files in IRUNJCL).

## Running the ibi WebFOCUS Reporting Server in a Non-Swappable Address Space

We recommend that you run the server in a non-swappable address space. In order to make the server address space permanently non-swappable, add the following entry to SYS1.PARMLIB(SCHEDxx):

    PPT PGMNAME(TSCOM300)         /* PROGRAM NAME */

    NOSWAP                        /* NON-SWAPPABLE */

    CANCEL                        /* CAN BE CANCELLED */

Do not use the KEY 0 parameter, or any other parameter (such as NOPASS), unless the system programmer completely understands the consequences of adding the parameter.

All local spawn transactions will perform in the mode of the server. For example, if the server address space is non-swappable, all local spawn transactions execute as non-swappable.

The server executes limited non-local spawn, such as when the user executes a UNIX system command. Non-local spawn execute as swappable.

The server never executes a fork subroutine. (A fork subroutine creates a new process. The new process called the child process, is an almost exact copy of the calling process, which is called the parent process.)

## Workload Manager

Although the server may run in a specific performance group, transactions submitted by server agents may perform differently than the server by adding the following keyword to edaserve.cfg:

    wlm_enclave_trname = WLM_transaction_name

where:

WLM_transaction_name

Can be up to 8 characters.

This is a service-level keyword.

Using this setting, the task will join a Workload Manager (WLM) enclave when a request starts, and leave the enclave when the request finishes. This gives WLM control of the dispatching priority of the task. The transaction rules defined on WLM will determine the default service class assigned to this transaction, and that service class will determine how the request runs.

This feature helps to balance a workload so that a long request will not affect a short request. This can be achieved through WLM rules designed to lower the priority of a long request after a certain period of time. Without this feature, all requests share the region priority.

The transaction name passed in this keyword must match one defined in the WLM Classification Rules for the Job Entry Subsystem (JES). A corresponding WLM Service Class pointed to by this rule will then be associated with this service.

The classification rules for JES must be used even if the server is started as a started task. The subtasks are always run under JES.

For example, you would include the following in edaserve.cfg:

    SERVICE = DEFAULT

    BEGIN

    wlm_enclave_trname = IWAYFAST

    .

    .

    .

    END

The WLM definition is:

    Subsystem Type JES - Batch Jobs

    Classification:

    Default service class is PRDBATLO

    There is no default report class.

      Qualifier  Qualifier      Starting       Service   Report

    # type       name           position       Class     Class

    - ---------- -------------- ---------      --------- --------

    1 TN         IWAYFAST                      EDAQRYHI

WLM sub-rules (levels 2 and above) are supported. For a server request to join an enclave in a particular service class, the names of all rule qualifiers below our transaction name are checked. For example, consider the following WLM definition:

    Subsystem Type JES - Batch Jobs

    Classification:

    Default service class is PRDBATLO

    There is no default report class.

      Qualifier Qualifier     Starting Service  Report

    # type      name          position Class    Class

    - --------- ------------- -------- -------- --------

    1 SSC       PRDMVS                 PRDDFLT

    2 TN        IWAYFAST               EDAQRYHI

In this particular case, the qualifier 1 type is SSC (Subsystem Collection), and a server request will only join the enclave IWAYFAST if it is running on a particular LPAR in the SYSPLEX. This qualifier (PRDMVS) must match the XCF group definition: issue $DMASDEF (for JES2) and check the value of XCFGRPNM field.

You can handle WLM scheduling environments by defining them to WLM and then adding the JOB statement parameter SCHENV=xxxxx to the ISTART JCL.

Did you find this helpful?

Yes No
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

ibi™ Open Data Hub for Mainframe Connectors

Copyright © 2021-2025. Cloud Software Group, Inc. All Rights Reserved.