ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaks_5.4.0.1/rzaksaboutprestartjobs.htm

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>