Defining Classes and Response Time Goals

Defining APPC/MVS transaction initiator classes allows an installation to set scheduling algorithms for different types of transaction programs. Classes are defined in an ASCHPMxx parmlib member with the CLASSADD statement. Keywords in the CLASSADD statement define the minimum number of transaction initiators (MIN), the maximum number of transaction initiators (MAX), and the desired response time goal (RESPGOAL).

The APPC/MVS transaction scheduler starts and maintains at least the minimum number of transaction initiators for a class regardless of the amount of work in that class. Depending on the RESPGOAL, as more work comes in, more initiators may be started until the maximum is reached. Therefore you can control the number of initiators guaranteed to be available for a class and the upper limit of initiators available for the class. The APPC/MVS transaction scheduler, through calculating the response time goal you set for the class, determines the actual number of active initiators, using the MIN and MAX limits.

If you set MIN too high, system resources that may be needed elsewhere are left idle. If you set the MIN too low, the scheduler may waste time and resources creating and deleting transaction initiators. Similarly, if you set MAX too high, system resources that may be needed elsewhere are not available. If you set MAX too low, transaction programs will wait on the queue until an existing initiator becomes available, jeopardizing the response time goal for the class.

To optimize performance while still meeting resource goals, specify MIN and MAX values for transaction initiators that are percentages of the greatest number of anticipated transactions running in the class at any given time. You can determine the exact percentages after considering the number of transaction initiators available for all classes and experimenting with various values until one meets performance requirements.

The RESPGOAL is the total time in seconds that you want to allow for queueing and running a transaction program in a particular class. The APPC/MVS transaction scheduler begins calculating the response time from the moment the attach request for the transaction program enters the system. Figure 1 shows what the RESPGOAL keyword controls in terms of total end user response time.

Figure 1. Response Time in an APPC/MVS Environment
Response Time in an APPC/MVS Environment

To determine transaction run times and queue times, you can use RMF reports and SMF type 33 records. The APPC/MVS transaction scheduler can reduce the queue time by creating transaction initiators, but has no control over attach processing time and TP run time. Therefore, to set the RESPGOAL, determine the average run time for transactions in the class and add attach processing time and an allowable queue delay time. The additional queue delay time provides the APPC/MVS transaction scheduler with some control to attempt to optimize overall system overhead associated with creating and deleting transaction initiators.