121 lines
10 KiB
HTML
121 lines
10 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE html
|
||
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
<html lang="en-us" xml:lang="en-us">
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
|
<meta name="security" content="public" />
|
||
|
<meta name="Robots" content="index,follow" />
|
||
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
||
|
<meta name="DC.Type" content="concept" />
|
||
|
<meta name="DC.Title" content="How prestart jobs work" />
|
||
|
<meta name="abstract" content="A prestart job is a job that is started before the work arrives. This allows the system to handle a request for work without the delay caused by starting a new job." />
|
||
|
<meta name="description" content="A prestart job is a job that is started before the work arrives. This allows the system to handle a request for work without the delay caused by starting a new job." />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaksprestarttype.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaksprestartjobname.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaksprestartentry.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaksprestrtjobsecurity.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaksprestartjobtips.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzaksprestjobspoolfile.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../experience/work2abstract.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="../experience/work1abstract.htm" />
|
||
|
<meta name="copyright" content="(C) Copyright IBM Corporation 2004-2006" />
|
||
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2004-2006" />
|
||
|
<meta name="DC.Format" content="XHTML" />
|
||
|
<meta name="DC.Identifier" content="rzaksaboutprestartjobs" />
|
||
|
<meta name="DC.Language" content="en-us" />
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
||
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
||
|
<title>How prestart jobs work</title>
|
||
|
</head>
|
||
|
<body id="rzaksaboutprestartjobs"><a name="rzaksaboutprestartjobs"><!-- --></a>
|
||
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
||
|
<h1 class="topictitle1">How prestart jobs work</h1>
|
||
|
<div><p>A prestart job is a job that is started before the work arrives.
|
||
|
This allows the system to handle a request for work without the delay caused
|
||
|
by starting a new job.</p>
|
||
|
<p>A prestart job is a unique type of batch job. This means that the job has
|
||
|
a job type of 'B' and a job subtype of 'J'. The enhanced job type further
|
||
|
defines the job as a prestart job (1610), prestart batch job (1620), or prestart
|
||
|
communications job (1630). The enhanced job type describes how the prestart
|
||
|
job accepts work requests. If the program running in the prestart job uses
|
||
|
the communications interface for accepting work, the job is a prestart communications
|
||
|
job. If the program running in the prestart job accepts work through a batch
|
||
|
work interface, the job is a prestart batch job. If the program has not yet
|
||
|
reached the point of accepting work, the job is just a prestart job. Prestart
|
||
|
batch jobs are often referred to as server jobs because they provide service
|
||
|
for the work requests. </p>
|
||
|
<p>A communications work request is handled by the subsystem that has the
|
||
|
required communications device allocated. A batch work request is typically
|
||
|
handled by one of the basic subsystems that are shipped with the system: QSYSWRK,
|
||
|
QUSRWRK, or QSERVER. </p>
|
||
|
<p>Prestart jobs are started based on the information contained in the prestart
|
||
|
job entries. The Start jobs (<span class="parmname">STRJOBS</span>) parameter can
|
||
|
specify that the prestart jobs are started when the subsystem is started or
|
||
|
when the Start Prestart Jobs (<span class="cmdname">STRPJ</span>) command is entered.
|
||
|
The Initial number of jobs (<span class="parmname">INLJOBS</span>) parameter determines
|
||
|
the number of prestart jobs that initially start for a program.</p>
|
||
|
<p>As work requests arrive, more prestart jobs may be needed. The Threshold
|
||
|
(<span class="parmname">THRESHOLD</span>) parameter tells when to start more jobs.
|
||
|
When the number of prestart jobs available to handle a request drops below
|
||
|
the value specified by the <span class="parmname">THRESHOLD</span> parameter, the additional
|
||
|
jobs are started. The Additional number of jobs (<span class="parmname">ADLJOBS</span>)
|
||
|
parameter tells how many more jobs to start. </p>
|
||
|
<p>You need to make sure that there are enough jobs to handle work requests
|
||
|
without unnecessary delays. You can use the information from the Display
|
||
|
Active Prestart Jobs (<span class="cmdname">DSPACTPJ</span>) command to see if any work
|
||
|
requests, referred to as "program start requests" in the DSPACTPJ information,
|
||
|
had to wait for jobs to become available. Increase the value of the <span class="parmname">THRESHOLD</span> parameter
|
||
|
until DSPACTPJ show that no work requests ever need to wait.</p>
|
||
|
<p>Some prestart jobs handle a work request and then become available to handle
|
||
|
another work request. The Maximum number of uses (<span class="parmname">MAXUSE</span>)
|
||
|
parameter allows you to specify how many work requests these prestart jobs
|
||
|
handle. Some prestart jobs handle a single work request and then end, ignoring
|
||
|
the <span class="parmname">MAXUSE</span> value. Whether the prestart job handles multiple
|
||
|
work requests or handles only a single work request is determined by the program
|
||
|
running in the prestart job.</p>
|
||
|
<p>When the prestart job ends after handling at least one work request, the
|
||
|
subsystem compares the number of jobs that are still running to the number
|
||
|
specified in the <span class="parmname">INLJOBS</span> parameter. If the number of
|
||
|
jobs remaining is less than <span class="parmname">INLJOBS</span>, the subsystem starts
|
||
|
another job.</p>
|
||
|
<p>If a prestart job ends without handling at least one work request and the
|
||
|
job was not ended by the End Job (<span class="cmdname">ENDJOB</span>) command, the
|
||
|
prestart job program is considered to be in error. The subsystem ends the
|
||
|
prestart job entry in a controlled manner. This allows jobs that are servicing
|
||
|
a work request to complete that request, but prevents the subsystem from starting
|
||
|
additional jobs.</p>
|
||
|
<p>The subsystem periodically checks the number of prestart jobs to determine
|
||
|
if there are excessive available prestart jobs. A prestart job is available
|
||
|
when it is waiting for a work request. If the number of available prestart
|
||
|
jobs is greater than the <span class="parmname">THRESHOLD</span> parameter and the
|
||
|
total number of prestart jobs is greater than the <span class="parmname">INLJOBS</span> parameter,
|
||
|
the subsystem ends some of the available prestart jobs. For prestart jobs
|
||
|
that handle more than one work request, you should use the DSPACTPJ information
|
||
|
to determine your peak load, add this number to the value of the THRESHOLD
|
||
|
parameter, and set the INLJOBS parameter to the sum. This prevents the subsystem
|
||
|
from considering available jobs to be excessive unless the workload is larger
|
||
|
than this expected peak load. </p>
|
||
|
</div>
|
||
|
<div>
|
||
|
<div class="familylinks">
|
||
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaksprestarttype.htm" title="A prestart job is a batch job that starts running before a work request is received. The prestart jobs are started before any other types of jobs in a subsystem. Prestart jobs are different from other jobs because they use prestart job entries (part of the subsystem description) to determine which program, class, and storage pool to use when they are started.">Prestart jobs</a></div>
|
||
|
</div>
|
||
|
<div class="relconcepts"><strong>Related concepts</strong><br />
|
||
|
<div><a href="rzaksprestartjobname.htm" title="The fully qualified three-part name of the prestart job never changes once a prestart job is started. The user name of the fully qualified three-part job name always contains the user profile under which the prestart job is started.">Prestart job name</a></div>
|
||
|
<div><a href="rzaksprestartentry.htm" title="You define the prestart job by using a prestart job entry. A prestart job entry does not affect the device allocation or program start request assignment.">Prestart job entries</a></div>
|
||
|
<div><a href="rzaksprestrtjobsecurity.htm" title="When a prestart job starts, it runs under the prestart job user profile. When a program start request attaches to a prestart job, the prestart job user profile is replaced by the program start request user profile. When the prestart job is finished handling a program start request, the program start request user profile is replaced by the prestart job user profile. If there is a group profile associated with the user profile, the group profile is also exchanged.">Security and prestart jobs</a></div>
|
||
|
<div><a href="rzaksprestartjobtips.htm" title="The prestart job should do as much work as possible before it attempts to acquire an ICF program device or accept a CPI Communications conversation. The more work it does initially (allocating objects, opening database files, and so on), the less it will need to do when a program start request is received, therefore giving the transaction faster response time. The following are some additional performance considerations when using prestart jobs:">Performance tips for prestart jobs</a></div>
|
||
|
<div><a href="rzaksprestjobspoolfile.htm" title="If a spool file is opened before a prestart job handles any program start request, the spool file is associated with the prestart job entry user profile; otherwise it is associated with the current program start request user profile.">Spooled file and the prestart job entry</a></div>
|
||
|
</div>
|
||
|
<div class="relinfo"><strong>Related information</strong><br />
|
||
|
<div><a href="../experience/work2abstract.htm">Tuning prestart job entries</a></div>
|
||
|
<div><a href="../experience/work1abstract.htm">Subsystem Configuration</a></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|