Performance Considerations for PDS
There are several ways in which you can improve the server performance:
- Server initialization commands. You can specify
DYNAMcommands in memberSRVINITof the data set referenced by//EDACCFG DDinIRUNJCL. 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
are executed during server startup and are 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 CREATEcommand is issued. By default, all component file types are generated.where:
filetypeAre 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.SKIPIndicates that the designated file type should not be created when the APP CREATE command is issued.
CREATECreates the designated file type when the APP CREATE command is issued. This is the default setting.
POSTFIXSpecifies 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_typeThe default value for component_type is
filetype.DATAparmsAre 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 are allocated only when they are referenced. For example:
DYNAM APP IBISAMP BASEAPP(default command at installation time)-
DYNAM ALLOCcommandsFor 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:
Can be up to 8 characters.
This is a service-level keyword.
Using this setting, the task joins a Workload Manager (WLM) enclave when a request starts, and leaves the enclave when the request finishes. This gives WLM control of the dispatching priority of the task. The transaction rules defined on WLM determine the default service class assigned to this transaction, and that service class determines how the request runs.
This feature helps to balance a workload so that a long request does 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 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.