Home
TFH
OS/400 Edition
Volume 12, Number 2 -- January 13, 2003

Admin Alert: Two OS/400 Performance-Adjustment Settings to Check


by Joe Hertvik

There are two system values you should watch for to implement automatic OS/400 performance adjustments. Performance Adjustment (QPFRADJ) controls when a system performs automatic storage pool and activity level tuning, and Dynamic priority adjustment (QDYNPTYADJ) controls whether the system dynamically adjusts the priority of interactive jobs in order to maintain high throughput for non-interactive jobs in a server environment. These values serve different functions, and it pays to understand what each one does, in order to effectively tune your system.


QPFRADJ tells OS/400 to automatically tune your system storage pool sizes, as well as your storage pool activity levels. Tuning is based on the current workload running in each storage pool. When QPFRADJ is active, OS/400 grades the quality of work running in a pool using an algorithm that considers the priority of the work in each pool, the current page fault rates, and a few other factors. OS/400 evaluates pool activity on a regular basis, and after so many grading periods it makes a decision about whether a storage pool adjustment will be made.

For automatic pool tuning, QPFRADJ can be set to one of the following four values:

  • 0--Don't perform any storage pool adjustments
  • 1--Only perform storage pool adjustments at system IPL
  • 2--Perform adjustments at system IPL and automatically as your machine is running
  • 3--Perform automatic adjustments only

QPFRADJ can be effective in keeping your storage pool values in sync with your workload, but there are some drawbacks. Because QPFRADJ has to work with historical data (even if it's very recent data taken in the last minute), it can sometimes create adjustments after the fact, which can momentarily throw your system out of balance if the workload has changed. Also, QPFRADJ works best in systems where your workload is segmented into different storage pools, such as all interactive jobs running in *INTER, all printer jobs running in *SPOOL, or batch subsystems running in user-defined storage pools. If you're running an out-of-the-box OS/400 configuration--where QBASE is the controlling subsystem and subsystem storage is taken from the *BASE storage pool--using QPFRADJ may not be as effective, because there are fewer secondary storage pools to shift main memory into and out of in order to satisfy system needs.

While QPFRADJ performs a balancing act with system storage pools, QDYNPTYADJ works to maintain a balance between batch and interactive jobs. QDYNPTYADJ works with OS/400's dynamic priority scheduler (note: the dynamic priority scheduler is active when the QDYNPTYSCD system value is set to 1). The dynamic scheduler dispatches jobs to the system processor, based on the system resources needed by each job and by the job's priority bands. OS/400 jobs with priorities 0 through 9 are in the high-priority band 0, and those jobs are always checked first by the task dispatcher before any other jobs in higher priority bands (other groups of jobs in different priority ranges) are scheduled. The other OS/400 priority bands are in the following ranges:

  • Band 1--Priorities 10-16
  • Band 2--Priorities 17-22, includes most interactive jobs, generally set at priority 20
  • Band 3--Priorities 23-35
  • Band 4--Priorities 36-46
  • Band 5--Priorities 47-51, includes the default priority of 50 for batch jobs
  • Band 6--Priorities 52-89
  • Band 7--Priorities 90-99

When active, the dynamic priority scheduler will adjust job priorities within a priority band to increase system throughput. That's why you may sometimes see running jobs change priorities when viewing system activity on the Work with System Activity (WRKSYSACT) screen. By default, OS/400 sets QDYNPTYSCD to 1 (on), so that the dynamic priority scheduler runs on most OS/400 V5 systems right out of the box.

The tricky part comes when you use dynamic priority adjustment (system value QDYNPTYADJ) in conjunction with QDYNPTYSCD. When QDYNPTYADJ is set to 1 (on), the system will attempt to jigger the balance between interactive and non-interactive jobs, so that non-interactive (batch) jobs are quickly processed. QDYNPTYADJ is designed for use when your iSeries or AS/400 is primarily used as a server machine, such as when an OS/400 box hosts a Lotus Domino or WebSphere server. For server machines with low interactive capability, you want your batch processes to be quickly processed and you don't care about interactive workloads. So when QDYNPTYADJ is active, interactive jobs with priorities greater than 16 will be adjusted upward as the interactive workload increases, so that they don't interfere with the machine's priority batch workload. Like QDYNPTYSCD, QDYNPTYADJ is set to 1 by default.

The problem with QDYNPTYADJ occurs when it's active on a mixed-environment machine, where the workload consists of a combination of interactive green-screen and non-interactive jobs. In such environments, you may want to set QDYNPTYADJ to 0 (off), so that it doesn't automatically degrade interactive performance as more interactive and green-screen users start using the system. Since QDYNPTYADJ is turned on by default, be sure to check and, if necessary, adjust this value if you're using your iSeries or AS/400 in a mixed environment.

Both QPFRADJ and QDYNPTYADJ can be set and adjusted through the green-screen Work with System Values (WRKSYSVAL) command, or through Operations Navigator by opening Configuration and Service, then System Values, and then the Performance panel. It's worth checking these values against the needs of your system to avoid problems and perform effective system management.


Sponsored By
BYTWARE

Security is complex. . .
Managing it doesn't have to be!

Introducing StandGuard, a real-time iSeries security solution allowing you to easily and quickly set enforceable security polices across a network. By controlling access to, and functionality within, key services running on your iSeries, StandGuard protects your system data from accidental or intentional loss. StandGuard also provides real-time security monitoring of changes to critical system-wide attributes, such as those that control security settings.

Find out more about StandGuard and iSeries security by requesting the free Networthy iSeries white paper at our website www.bytware.com


THIS ISSUE
SPONSORED BY:

DataMirror
SoftLanding Systems
MB Software & Consulting
Bytware
Infinium Software
ASNA/Guild Companies


BACK ISSUES

TABLE OF
CONTENTS
Power5 Means Powerful iSeries Iron Is Possible

Zollar Named New GM of iSeries, Duncan Goes to Software Group

IBM Outsources xSeries Server Manufacturing

Admin Alert: Two OS/400 Performance-Adjustment Settings to Check

COMMON Goes Industrial with Special Track at Indy

But Wait, There's More. . .


Editor
Timothy Prickett Morgan

Managing Editor
Shannon Pastore

Contributing Editors:
Dan Burger
Joe Hertvik
Kevin Vandever
Shannon O'Donnell
Victor Rozek
Hesh Wiener
Alex Woodie

Publisher and
Advertising Director:

Jenny Thomas

Advertising Sales Representative
Kim Reed

Contact the Editors
Do you have a gripe, inside dope or an opinion?
Email the editors:
editors@itjungle.com


Copyright © 1996-2008 Guild Companies, Inc. All Rights Reserved.