A prestart job is a batch job that starts running before a program on a remote system initiates communications with the server.
Prestart jobs use prestart job entries in the subsystem description to determine which program, class, and storage pool to use when the jobs are started. Within a prestart job entry, you must specify attributes for the subsystem to use to create and to manage a pool of prestart jobs.
Prestart jobs increase performance when you initiate a connection to a server. Prestart job entries are defined within a subsystem. Prestart jobs become active when that subsystem is started, or they can be controlled with the Start Prestart Job (STRPJ) and End Prestart Job (ENDPJ) commands.
System information that pertains to prestart jobs (such as DSPACTPJ) uses the term 'program start request' exclusively to indicate requests made to start prestart jobs, even though the information may pertain to a prestart job that was started as a result of a sockets connection request.
If you move jobs from the default subsystem, you must:
If you do not do this, your jobs will run in the default subsystem.
All of the host servers that are supported by the sockets communications interface support prestart jobs.
These servers are:
The following lists provide each of the prestart job entry attributes, and provide the initial values that are configured for the host servers using sockets communications support.
The subsystem that contains the prestart job entries.
Host server | Value |
---|---|
Network Print | QUSRWRK |
Remote command and program call | QUSRWRK |
Central | QUSRWRK |
Database | QUSRWRK |
Secure Database | QUSRWRK |
File | QSERVER |
Secure File | QSERVER |
Data Queue | QUSRWRK |
Signon | QUSRWRK |
Program library/name
The program that is called when the prestart job is started.
Host server | Value |
---|---|
Network Print | QSYS/QNPSERVS |
Remote command and program call | QSYS/QZRCSRVS |
Central | QSYS/QZSCSRVS |
Database | QSYS/QZDASOINIT |
Secure Database | QSYS/QZDASSINIT |
File | QSYS/QPWFSERVSO |
Secure File | QSYS/QPWFSERVSS |
Data Queue | QSYS/QZHQSSRV |
Signon | QSYS/QZSOSIGN |
User profile
The user profile that the job runs under. This is what the job shows as the user profile. When a request to start a server is received from a client, the prestart job function switches to the user profile that is received in that request.
Host server | Value |
---|---|
Network Print | QUSER |
Remote command and program call | QUSER |
Central | QUSER |
Database | QUSER |
Secure Database | QUSER |
File | QUSER |
Secure File | QUSER |
Data Queue | QUSER |
Signon | QUSER |
Job name
The name of the job when it is started.
Host server | Value |
---|---|
Network Print | *PGM |
Remote command and program call | *PGM |
Central | *PGM |
Database | *PGM |
Secure Database | *PGM |
File | *PGM |
Secure File | *PGM |
Data Queue | *PGM |
Signon | *PGM |
Job description
The job description used for the prestart job. Note that if *USRPRF is specified, the job description for the profile that this job runs under will be used. This means QUSER's job description will be used. Some attributes from the requesting user's job description are also used; for example, print device and output queue are swapped from the requesting user's job description.
Host server | Value |
---|---|
Network Print | QSYS/QZBSJOBD |
Remote command and program call | QSYS/QZBSJOBD |
Central | QSYS/QZBSJOBD |
Database | QGPL/QDFTSVR |
Secure Database | QGPL/QDFTSVR |
File | QGPL/QDFTSVR |
Secure File | QGPL/QDFTSVR |
Data Queue | QSYS/QZBSJOBD |
Signon | QSYS/QZBSJOBD |
Start jobs
Indicates whether prestart jobs are to automatically start when the subsystem is started. These prestart job entries are shipped with a start jobs value of *YES to ensure that the server jobs are available. The STRHOSTSVR command starts each prestart job as part of its processing.
Host server | Value |
---|---|
Network Print | *YES |
Remote command and program call | *YES |
Central | *YES |
Database | *YES |
Secure Database | *YES |
File | *YES |
Secure File | *YES |
Data Queue | *YES |
Signon | *YES |
Initial number of jobs
The number of jobs that are started when the subsystem starts. This value is adjustable to suit your particular environment and needs.
Host server | Value |
---|---|
Network Print | 1 |
Remote command and program call | 1 |
Central | 1 |
Database | 1 |
Secure Database | 1 |
File | 1 |
Secure File | 1 |
Data Queue | 1 |
Signon | 1 |
Threshold
The minimum number of available prestart jobs for a prestart job entry. When this threshold is reached, additional prestart jobs automatically start. Threshold maintains a certain number of jobs in the pool.
Host server | Value |
---|---|
Network Print | 1 |
Remote command and program call | 1 |
Central | 1 |
Database | 1 |
Secure Database | 1 |
File | 1 |
Secure File | 1 |
Data Queue | 1 |
Signon | 1 |
Additional number of jobs
The number of additional prestart jobs that are started when the threshold is reached.
Host server | Value |
---|---|
Network Print | 2 |
Remote command and program call | 2 |
Central | 2 |
Database | 2 |
Secure Database | 2 |
File | 2 |
Secure File | 2 |
Data Queue | 2 |
Signon | 2 |
Maximum number of jobs
The maximum number of prestart jobs that can be active for this entry.
Host server | Value |
---|---|
Network Print | *NOMAX |
Remote command and program call | *NOMAX |
Central | *NOMAX |
Database | *NOMAX |
Secure Database | *NOMAX |
File | *NOMAX |
Secure File | *NOMAX |
Data Queue | *NOMAX |
Signon | *NOMAX |
Maximum number of uses
The maximum number of uses of the job. A value of 200 indicates that the prestart job will end after 200 requests to start the server have been processed.
Host server | Value |
---|---|
Network Print | 200 |
Remote command and program call | 1 |
Central | 200 |
Database | 200 |
Secure Database | 200 |
File | *NOMAX |
Secure File | *NOMAX |
Data Queue | 200 |
Signon | 200 |
Wait for job
This causes a client connection request to wait for an available server job if the maximum number of jobs has been reached.
Host server | Value |
---|---|
Network Print | *YES |
Remote command and program call | *YES |
Central | *YES |
Database | *YES |
Secure Database | *YES |
File | *YES |
Secure File | *YES |
Data Queue | *YES |
Signon | *YES |
Pool identifier
The subsystem pool identifier in which this prestart job runs.
Host server | Value |
---|---|
Network print | 1 |
Remote command and program call | 1 |
Central | 1 |
Database | 1 |
Secure database | 1 |
File | 1 |
Secure file | 1 |
Data queue | 1 |
Signon | 1 |
Class
The name and library of the class the prestart job runs under.
Host server | Value |
---|---|
Network Print | QGPL/QCASERVR |
Remote command and program call | QGPL/QCASERVR |
Central | QGPL/QCASERVR |
Database | QSYS/QPWFSERVER |
Secure Database | QSYS/QPWFSERVER |
File | QSYS/QPWFSERVER |
Secure File | QSYS/QPWFSERVER |
Data Queue | QGPL/QCASERVR |
Signon | QGPL/QCASERVR |
When the start jobs value for the prestart job entry has been set to *YES and the remaining values are at their initial settings, the following actions take place for each prestart job entry:
Use the Display Active Prestart Jobs (DSPACTPJ) command to monitor the prestart jobs. For example, to monitor prestart jobs for the signon server, you must know the subsystem your prestart jobs are in (QUSRWRK or a user-defined subsystem) and the program (for example, QZSOSIGN).
The DSPACTPJ command provides the following information:
+--------------------------------------------------------------------------------+ | Display Active Prestart Jobs AS400597 | | 01/12/95 16:39:25 | |Subsystem . . . . . : QUSRWRK Reset date . . . . . : 01/11/95 | |Program . . . . . . : QZSOSIGN Reset time . . . . . : 16:54:50 | | Library . . . . . : QSYS Elapsed time . . . . : 0023:12:21 | | | | Prestart jobs: | | Current number . . . . . . . . . . . . . . . . : 10 | | Average number . . . . . . . . . . . . . . . . : 8.5 | | Peak number . . . . . . . . . . . . . . . . . : 25 | | | | Prestart jobs in use: | | Current number . . . . . . . . . . . . . . . . : 5 | | Average number . . . . . . . . . . . . . . . . : 4.3 | | Peak number . . . . . . . . . . . . . . . . . : 25 | | | | | | More... | | | | | +--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+ | 01/12/95 16:39:25 | |Subsystem . . . . . : QUSRWRK Reset date . . . . . : 01/11/95 | |Program . . . . . . : QZSOSIGN Reset time . . . . . : 16:54:50 | | Library . . . . . : QSYS Elapsed time . . . . : 0023:12:21 | | | | | | | | Program start requests: | | Current number waiting . . . . . . . . . . . . : 0 | | Average number waiting . . . . . . . . . . . . : .2 | | Peak number waiting . . . . . . . . . . . . . : 4 | | Average wait time . . . . . . . . . . . . . . : 00:00:20.0 | | Number accepted . . . . . . . . . . . . . . . : 0 | | Number rejected . . . . . . . . . . . . . . . : 0 | | | | | | | | Bottom | |Press Enter to continue. | | | |F3=Exit F5=Refresh F12=Cancel F13=Reset statistics | | | +--------------------------------------------------------------------------------+
Pressing the F5 key while on the Display Active Prestart Jobs display can refresh the information presented for an active prestart job. The information about program start requests can indicate whether you need to change the available number of prestart jobs. If the information indicates that program start requests are waiting for an available prestart job, you can change prestart jobs with the Change Prestart Job Entry (CHGPJE) command.
If the program start requests are not acted on quickly, you can do any combination of the following:
The key is to ensure that an available prestart job exists for every request.
If you decide that you do not want the servers to use the prestart job function, you must do the following:
Prestarted jobs ended with the ENDPJ command are started the next time the subsystem is started if start jobs *YES is specified in the prestart job entry or when the STRHOSTSVR command is issued for the specified server type. If you only end the prestart job and don't take the next step, any requests to start the particular server will fail.
The prestart job entries that are removed with the RMVPJE command are permanently removed from the subsystem description. Once the entry is removed, new requests for the server will succeed.
When a daemon job is routed to a subsystem, the job is using the routing entries in the subsystem description. The routing entries for the host server daemon jobs are added to the subsystem description when the STRHOSTSVR command is issued. These jobs are started under the QUSER user profile. For daemon jobs that are submitted to the QSYSWRK subsystem, the QSYSNOMAX job queue is used. For daemon jobs that are submitted to the QSERVER subsystem, the QPWFSERVER job queue is used.
The characteristics of the server jobs are taken from their prestart job entry. If prestart jobs are not used for the servers, then the server jobs start with the characteristics of their corresponding daemon jobs.
The following information provides the initial configuration in the IBM-supplied subsystems for each of the server daemon jobs.
Network print server daemon
Subsystem | QSYS/QSYSWRK |
Job queue | QSYSNOMAX |
User | QUSER |
Route data | QNPSERVD |
Job name | QNPSERVD |
Class | QGPL/QCASERVR |
Sequence number | 2538 |
Remote command and program call server daemon
Subsystem | QSYS/QSYSWRK |
Job queue | QSYSNOMAX |
User | QUSER |
Route data | QZRCSRVSD |
Job name | QZRCSRVSD |
Class | QGPL/QCASERVR |
Sequence number | 2539 |
Central server daemon
Subsystem | QSYS/QSYSWRK |
Job queue | QSYSNOMAX |
User | QUSER |
Route data | QZSCSRVSD |
Job name | QZSCSRVSD |
Class | QGPL/QCASERVR |
Sequence number | 2536 |
Database server daemon
Subsystem | QSYS/QSERVER |
Job queue | QPWFSERVER |
User | QUSER |
Route data | QZDASRVSD |
Job name | QZDASRVSD |
Class | QSYS/QPWFSERVER |
Sequence number | 600 |
File server daemon
Subsystem | QSYS/QSERVER |
Job queue | QPWFSERVER |
User | QUSER |
Route data | QPWFSERVSD |
Job name | QPWFSERVSD |
Class | QSYS/QPWFSERVER |
Sequence number | 200 |
Data queue server daemon
Subsystem | QSYS/QSYSWRK |
Job queue | QSYSNOMAX |
User | QUSER |
Route data | QZHQSRVD |
Job name | QZHQSRVD |
Class | QGPL/QCASERVR |
Sequence number | 2537 |
Signon server daemon
Subsystem | QSYS/QSYSWRK |
Job queue | QSYSNOMAX |
User | QUSER |
Route data | QZSOSGND |
Job name | QZSOSGND |
Class | QGPL/QCASERVR |
Sequence number | 2540 |
Server Mapper daemon
Subsystem | QSYS/QSYSWRK |
Job queue | QSYSNOMAX |
User | QUSER |
Route data | QZSOSMAPD |
Job name | QZSOSMAPD |
Class | QGPL/QCASERVR |
Sequence number | 2541 |