ibm-information-center/dist/eclipse/plugins/i5OS.ic.ddm_5.4.0.1/rbae5perfcon.htm

303 lines
21 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<?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="Performance considerations for DDM" />
<meta name="abstract" content="These topics provide information to help you improve performance when using DDM and also provide some information about when to use something other than DDM to accomplish some functions." />
<meta name="description" content="These topics provide information to help you improve performance when using DDM and also provide some information about when to use something other than DDM to accomplish some functions." />
<meta name="DC.subject" content="performance considerations, DDM, DDM file, DDM performance considerations, routing entry, controlling DDM job priority, QCNTEDDM value on CMPVAL parameter, QCNTEDDM value on routing entry, file processing, difference between remote and local, remote system, processing files, WAITFILE (maximum file wait time) parameter, performance considerations, operations delay, batch, processing, interactive" />
<meta name="keywords" content="performance considerations, DDM, DDM file, DDM performance considerations, routing entry, controlling DDM job priority, QCNTEDDM value on CMPVAL parameter, QCNTEDDM value on routing entry, file processing, difference between remote and local, remote system, processing files, WAITFILE (maximum file wait time) parameter, performance considerations, operations delay, batch, processing, interactive" />
<meta name="DC.Relation" scheme="URI" content="rbae5ddmop.htm" />
<meta name="DC.Relation" scheme="URI" content="rbae5batchproc.htm" />
<meta name="DC.Relation" scheme="URI" content="rbae5interactivefp.htm" />
<meta name="DC.Relation" scheme="URI" content="rbae5length.htm" />
<meta name="DC.Relation" scheme="URI" content="rbae5brwrcds.htm" />
<meta name="DC.Relation" scheme="URI" content="rbae5ddm1.htm" />
<meta name="DC.Relation" scheme="URI" content="rbae5uepcsd.htm" />
<meta name="DC.Relation" scheme="URI" content="../books/sc415406.pdf" />
<meta name="DC.Relation" scheme="URI" content="../rzahj/rzahjovr.htm" />
<meta name="DC.Relation" scheme="URI" content="../books/sc415404.pdf" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rbae5perfcon" />
<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>Performance considerations for DDM</title>
</head>
<body id="rbae5perfcon"><a name="rbae5perfcon"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Performance considerations for DDM</h1>
<div><p>These topics provide information to help you improve performance
when using DDM and also provide some information about when to use something
other than DDM to accomplish some functions. </p>
<ul><li>When a DDM file is specified on the CPYF command, optimal performance
is obtained if the following items are all true: <ul><li>The from-file is a logical or physical file and the to-file is a physical
file.</li>
<li>FMTOPT is *NONE, *NOCHK, or not specified.</li>
<li>INCHAR, INCREL, ERRLVL, RCDDMT (*ALL), PRINT(*COPIED), PRINT(*EXCLD),
SRCSEQ, TOKEY, SRCOPT, or FROMKEY parameter is not specified.</li>
<li>The from-file is not overridden with the POS keyword, other than *NONE
or *START.</li>
<li>The to-file is not overridden with INHWRT(*YES).</li>
</ul>
</li>
<li>The <span class="cmdname">Open Query File (OPNQRYF)</span> command uses <span class="keyword">System/38™</span> extensions to the DDM architecture.
The <span class="keyword">System/38</span> DDM architecture
extensions minimize DDM system processing time. These extensions are not used
when: <ul><li>The source server is neither a <span class="keyword">System/38</span> nor
an <span class="keyword">iSeries™ server</span></li>
<li>The target server is neither a <span class="keyword">System/38</span> nor
an <span class="keyword">iSeries server</span></li>
</ul>
</li>
<li>You can greatly reduce the amount of data transferred between servers
if you use query functions such as the <span class="keyword">iSeries</span> command
OPNQRYF OPTIMIZE(*YES). However, for user-written applications, the amount
of data exchanged between the servers is larger than that used to communicate
using DDM with non-<span class="keyword">iSeries server</span>s.
The additional data provides <span class="keyword">iSeries</span> extended
DDM functions and also reduces source server DDM processing overhead. Using
normal read, write, update, add, and delete operations as examples, consider
the following items: <ul><li>Standard DDM architecture DDM overhead data includes such information
as a file identification, operation code, and simple result information. A
user program read-by-key operation uses approximately 40 characters of DDM
information in addition to the length of the key data. Data returned from
the remote server uses approximately 32 characters of DDM information plus
the length of the data file record.</li>
<li><span class="keyword">System/38</span> DDM architecture
extensions cause additional data overhead such as record format identification
and a major portion of the I/O feedback area information. A user program read-by-key
operation uses approximately 60 characters of DDM information in addition
to the length of the key data. Data returned from the remote server uses approximately
80 characters of DDM information plus the length of the data file record.
Normally, the additional length in data streams is not noticeable. However,
as line activity increases, line utilization might peak sooner when using
these extended data streams as opposed to standard DDM data streams.</li>
</ul>
</li>
<li>The target DDM job priority is controlled by the job class specified by
the associated subsystem description routing entry. The following routing
entry is normally the one used for all target (program start request) jobs:
<pre>ADDRTGE ... PGM(*RTGDTA) ... CMPVAL(PGMEVOKE 29)</pre>
<p>The
subsystems QBASE and QCMN, which are shipped with the <span class="keyword">iSeries server</span>,
have this routing entry.</p>
<div class="p">To have target DDM jobs in a subsystem run
at a different priority than other APPC target jobs in the same subsystem,
insert the following routing entry with the appropriate sequence number: <pre>ADDRTGE SBSD(xxx) SEQNBR(nnn) CMPVAL(QCNTEDDM 37)
PGM(*RTGDTA) CLS(uuu)</pre>
</div>
<p>The class <em>uuu</em> is used
to determine target job priority.</p>
</li>
<li>To display records in a remote file, display station pass-through should
be used whenever possible. Otherwise, direct record positioning should be
used with the <span class="cmdname">Display Physical File Member (DSPPFM)</span> command.</li>
<li>If a DDM user exit security program is a CL program and it creates an <span class="keyword">i5/OS™</span> exception and an inquiry message
that requires the target system operator to respond, both the user exit program
and the source server job must wait for the response. Consider using the default
system reply list by specifying INQMSGRPY(*SYSRPYL) for the TDDM job's description
specified on the <span class="cmdname">Add Communications Entry (ADDCMNE)</span> command
for that APPC remote location information. </li>
<li>The WAIT and WAITFILE parameters, used on commands like <span class="cmdname">Allocate
Object (ALCOBJ)</span> or <span class="cmdname">Receive Message (RCVMSG)</span>,
have no effect on the source server program. These parameters function the
same as they do when local files are accessed. The wait time values specified
on commands run on the source server do not take effect on the source system;
they affect only the target server and only if it is an <span class="keyword">iSeries server</span> or
a <span class="keyword">System/38</span>. <div class="note"><span class="notetitle">Notes:</span> <ol><li>The WAITFILE parameter of the create or change <span class="keyword">i5/OS</span>-Intersystems
Communications Function (ICF) file command determines how long the APPC support
will wait for session resources to become available when doing an acquire
operation or a start function. The WAITFILE value is not used for sessions
where the connection to the adjacent server is over a switched connection.
An example is an SDLC switched line, an X.25 SVC line, an Ethernet line, or
a token-ring connection. Using a switched connection, acquire operations and
start functions do not time out.</li>
<li>Because APPN sessions might cross multiple servers and lines to reach
the remote server, the WAITFILE timer should be adjusted to allow more time
in these cases. You should not specify *IMMED for the WAITFILE parameter if
your application is running in a network configured to use APPN functions.
The value you specify for this parameter is dependent on the size and type
of the network.</li>
</ol>
</div>
</li>
<li><p>As for any LU session type 6.2 data exchange, certain SNA parameters
can affect performance. These parameters include the path information unit
size (MAXFRAME), the request/response unit size (MAXLENRU), SNA pacing (INPACING,
OUTPACING), and for X.25, packet size and window size. In general, the larger
the value used, the better the realized performance.</p>
</li>
<li><strong>SNA path information unit size</strong> <p>The path information unit (PIU)
is the size of the actual data transmission block between two servers. The
MAXFRAME parameter on the Create Controller Description (APPC) (CRTCTLAPPC)
or Create Controller Description (SNA Host) (CRTCTLHOST) command specifies
the path information unit size the local server attempts to use. During session
establishment, both servers determine which size is used, and it is always
the smaller value. Other remote servers might have different PIU size considerations.</p>
</li>
<li><strong>SNA response/request unit size</strong> <p>The response/request unit (RU)
size (CRTMODD MAXLENRU) controls the amount of server buffering before fitting
that data into the path information unit that is actually transmitted. In
APPC, the transmit and receive RU lengths are negotiated during session establishment.
Again, the negotiation results in the smallest value being used. Other remote
servers have different RU size considerations.</p>
</li>
<li><strong>SNA pacing values</strong> <p>The pacing value determines how many request/response
units (RUs) can be received or sent before a response is required indicating
buffer storage is available for more transmissions. During session establishment,
both servers determine which size is used, and it is always the smaller value.</p>
<p>In
cases where both batch and interactive processing occur at the same time on
the same communications line, <span class="keyword">iSeries</span> job
priority might be used to favor interactive processing over batch processing.
In addition, reducing the value of pacing for a batch application and raising
it for an interactive application might be necessary to provide a level of
line activity priority for the interactive application.</p>
<p>On an <span class="keyword">iSeries server</span>, different pacing values can
be specified through the creation of different MODES (Create Mode Description
[CRTMODD] command) to the different applications. Other remote
systems have different SNA pacing value considerations.</p>
</li>
<li><strong>X.25 packet</strong> <p>An X.25 packet smaller than the MAXFRAME value
adds data transmission time over a non-X.25 data link. In general, for X.25,
the longer the MAXFRAME and the actual amount of data being transmitted, the
greater this difference is. In the case of DDM, which adds DDM control information
to the normal file record data, the packet size has an additional effect on
the difference between local and remote file processing and between non-X.25
and X.25 data links.</p>
<p>In cases of many deblocked DDM operations, the
number of packets required to transmit data might become so high that packet
processing overhead within the X.25 adapter affects performance significantly.
Use the largest X.25 packet window size supported by the network and communicating
products to maximize performance.</p>
<p>When X.25 must be used to access remote
files, successive transmission of many small deblocked records, such as less
than 80 character records, might cause the X.25 adapter to expend a disproportionate
amount of time processing X.25 packet characters as opposed to transmission
of user data.</p>
<p>In general, the overhead in processing X.25 packets results
in less throughput than the use of a conventional line when identical line
speeds are used and data transfer is in only one direction. When data is transferred
at the same time in both directions, the advantages of X.25 duplex support
is realized. On the <span class="keyword">System/38</span>,
the overall processing effect is minimal, because the overhead in processing
the packets is done within the Integrated X.25 Adapter.</p>
</li>
</ul>
<p>In general, the processing of remote files by using DDM is transparent
to an application program or utility function, such as that provided by the
Copy File (CPYF) command. However, additional time is required when accessing
remote files by using a communications line. The performance difference between
local file and remote file processing is proportional to the number of accesses
to remote files, the data record length, and the line speed during a unit
of performance measurement.</p>
<p>An additional difference between local and remote file processing is that
the input or output operation to a local file might not result in an immediate
physical disk operation because the server transfers blocks of data from the
disk and writes blocks of data to the disk. There are times, then, that the
user program accesses data within main storage and the physical I/O occurs
at a different time. Therefore, to minimize the difference between local file
and remote file performance, it is essential that knowledge of an application
design and the amount and type of accesses to files be considered when determining
which files are to be accessed remotely using DDM.</p>
<p>The additional time for each remote access is comprised of: </p>
<ul><li>Additional system processing to convert local server file interfaces to
the DDM architecture interfaces</li>
<li>Amount of data transmitted over the communications line</li>
<li>Amount of remote system processing of the file operations</li>
<li>Speed of the communications line</li>
</ul>
<p>The communications line time accounts for most of the additional time,
though the actual time is dependent on line speed and the amount of line activity
during the DDM function.</p>
<p>As is true in non-DDM cases, local and remote server job priorities have
the most significant effect on performance. On an <span class="keyword">iSeries server</span>,
the PRIORITY and TIME SLICE values of the class being used control job priority.
The SDDM runs under the source job, and the TDDM runs under the class assigned
to the APPC routing entry of the target server's subsystem. In applications
that access multiple files, the best results are achieved when the most heavily
accessed files are on the same server as the program that is running and the
less heavily accessed files are on a remote server. Key considerations regarding
the placement of files and application programs follow: </p>
<ul><li>The system having primary responsibility for file maintenance needs to
be identified. In all cases of multiple servers applications, the best performance
results if only one server is responsible for file maintenance. If an application
program maintains the file through exclusive (nonshared) processing, best
performance can be realized when the application program resides on the system
with the file. <div class="p">In some cases, transmitting the file back to the local
server might require: <ul><li>An APPC program.</li>
<li>A program using remote DDM files.</li>
<li>The Copy File (CPYF) command by using DDM.</li>
<li>Object distribution SNDNETF and RCVNETF operations. In interactive applications,
display station pass-through should be considered when the amount of display
data transferred is significantly less than the amount of database file data
that would be sent by using DDM.</li>
</ul>
</div>
</li>
<li>In cases where file placement requires movement of application processing
to a remote server for best performance results, use of the Submit Remote
Command (SBMRMTCMD) command should be considered. This works best in a batch
processing input stream where each program waits for the preceding program
to complete. The use of the SBMRMTCMD command is valid only when the source
and target servers are <span class="keyword">iSeries server</span>s
or Systems/38s. For example, assume that program A accesses local files. Program
A would run on a local server. Program B accesses remote files. You can use
the SBMRMTCMD command to run program B on the remote server.</li>
<li>In cases where file maintenance is shared across servers, the best performance
can be obtained if the file is placed on the server with the largest percentage
of file update, add, and delete operations. <p>In certain cases, a pair of
source and target APPC programs can provide performance improvements over
DDM. For example, assume 10 records are to be retrieved from the remote server.
When DDM is used and record blocking cannot be used (for example, user program
random input operation, sequential input for change, or use of the OVRDBF
SEQONLY[*NO] command), assume 10 data transmissions are sent and 10 are received,
for a total of 20 transmissions. User-written APPC programs can build additional
intelligence into the data stream such that request for the data and receipt
of the data can be done in two data transmissions instead of 20, one request
for all records of customer 00010 and one response containing 10 records for
customer 00010.</p>
</li>
</ul>
<p>Consider two sample application processing techniques, batch file processing
and interactive file processing.</p>
</div>
<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="rbae5batchproc.htm">Batch file processing with DDM</a></strong><br />
Consider these items when using batch file processing with DDM.</li>
<li class="ulchildlink"><strong><a href="rbae5interactivefp.htm">Interactive file processing with DDM</a></strong><br />
Consider these items when using interactive file processing with DDM.</li>
<li class="ulchildlink"><strong><a href="rbae5length.htm">DDM conversation length considerations</a></strong><br />
Consider these items regarding the length of conversations when using DDM.</li>
</ul>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rbae5ddmop.htm" title="This topic provides task-oriented information and examples that describe various aspects of DDM operation considerations.">Operating considerations for DDM</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="rbae5ddm1.htm" title="This topic describes how iSeries security relates to DDM, and how it can limit access to the data resources of a target server by source server programs and users.">Security</a></div>
<div><a href="../books/sc415406.pdf" target="_blank">Communications Management PDF</a></div>
<div><a href="../rzahj/rzahjovr.htm">APPC, APPN, and HPR</a></div>
<div><a href="../books/sc415404.pdf " target="_blank">LAN, Frame-Relay, and ATM Support PDF</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="rbae5brwrcds.htm" title="The Display Physical File Member (DSPPFM) command can be used to display a remote file on a target server.">Display DDM remote file records</a></div>
<div><a href="rbae5uepcsd.htm" title="There are some considerations that you should understand before using user exit programs for DDM.">User exit program considerations for DDM</a></div>
</div>
</div>
</body>
</html>