Performance Considerations for PDS

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

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.