Menu

zPulse · Disk

How to read RMF 74.1 DASD response time: CONN, DISC, PEND, IOSQ

RMF 74.1 DASD response time is IOSQ, pending, disconnect and connect time added up. Learn what each part means and in which order to read them on z/OS.

RMF 74.1 DASD response time is the average time an I/O to a disk volume takes on z/OS, split into four parts: IOSQ, pending, disconnect and connect time. Read the four together: the largest one tells you whether the delay is in z/OS, on the path to the storage system, or inside the storage system.

The total alone rarely explains anything. Two volumes with the same response time can have opposite problems, and the fix for one would do nothing for the other. This article explains where the numbers come from, what each component measures, and in which order an experienced analyst reads them.

Where RMF 74.1 data comes from

RMF Monitor I measures every device at each interval and writes the result as an SMF type 74 subtype 1 record (device activity). The RMF Post Processor turns those records into the Direct Access Device Activity report, one line per volume and per interval. BMC CMF MONITOR writes equivalent records and prints its own DASD activity report.

A minimal Post Processor step for disk looks like this:

//RMFPP    EXEC PGM=ERBRMFPP
//MFPINPUT DD DISP=SHR,DSN=YOUR.SMF.DUMP
//SYSIN    DD *
  REPORTS(DEVICE(DASD))
/*

For each volume, the report gives the device number, volume serial, LCU, device activity rate and the response time with its components. Those columns are the subject of the rest of this article.

The four components of DASD response time

RMF computes the average response time as a sum:

Response time = IOSQ time + pending time + disconnect time + connect time

Each component covers one stage in the life of an I/O, from the request in z/OS to the end of the data transfer.

Diagram: RESP = IOSQ + PEND + DISC + CONN. Four cards place each component where the time is spent: IOSQ queued in z/OS, pending on the path, disconnect in the storage system, connect on the channel, with the RMF column name of each.
The four components of DASD response time
Component RMF column What the I/O is doing Usual causes when it grows
IOSQ AVG IOSQ TIME Queued in z/OS, before the I/O is started Too few PAV aliases, a hot volume, a reserve on the device
Pending AVG PEND TIME Started, waiting for the path, control unit and device to accept it Busy channels or switch ports, device busy from another system, command response delay
Disconnect AVG DISC TIME Accepted, the storage system works without transferring data Read cache misses, synchronous remote copy, write delays, back-end contention
Connect AVG CONN TIME Transferring commands and data over the channel Large transfers, slower links, channel programs that do not use zHPF

IOSQ time

IOSQ time is spent inside z/OS. The I/O Supervisor holds the request because the device is already busy with another request from the same system. Parallel Access Volumes (PAV, HyperPAV and SuperPAV) exist to reduce it, by letting several I/Os run against one volume at the same time.

High IOSQ time on a volume usually means its alias capacity is short for its activity, or that one volume concentrates too much of the workload.

Pending time

Pending time starts when z/OS starts the I/O and ends when the device accepts it. The request waits for a free channel path, a switch port, the control unit and the device. RMF also shows two of its parts: AVG CMR DLY (command response delay) and AVG DB DLY (device busy delay).

Device busy delay often points at sharing: another system holds the volume, for example with a reserve. Command response delay points at a control unit slow to answer.

Disconnect time

Disconnect time is spent inside the storage system while the channel is free. The classic cause is a read cache miss: the data must be staged from the back end before it can be sent. Synchronous remote copy also adds disconnect time to writes, because the write completes only when the secondary has it.

To tell these causes apart, read the RMF Cache Subsystem Activity report (SMF 74.5) for the same interval, and check which volumes are in a synchronous copy relationship.

Connect time

Connect time is the actual transfer of commands and data between the channel and the storage system. It grows with the amount of data per I/O and falls with faster links and with zHPF channel programs.

High connect time is not a fault in itself. A volume that moves large blocks will always show more connect time than one serving small random reads.

Free study

See the four components on your own volumes

Send us your RMF or CMF reports. A Technical Storage expert runs them through zPulse Disk and shows you which component drives your response time, by interval, LCU and volume.

Read the components in the right order

An analyst does not read the report line by line. A short method keeps the attention on what matters:

  1. Weigh the volume first. Multiply the activity rate by the response time. A slow volume with almost no I/O costs little; a slightly slower volume with heavy activity can cost a lot.
  2. Find the dominant component. The largest component decides where to look next: z/OS, the paths, or the storage system.
  3. Work by interval, not by day. Daily averages hide the batch window and the online peak. Look at the intervals where the volume is busy.
  4. Group before you conclude. Compare volumes of the same LCU, storage group or LPAR. A problem shared by a whole LCU is not a volume problem.
  5. Compare with a baseline. The same interval on previous days tells you whether a value is new or normal for that volume.

A worked example

Example values, for illustration: the figures below are not taken from a customer system. They show one volume at three intervals of the same day; the I/O rate is per second and the times are in milliseconds.

A worked example
Interval I/O rate RESP IOSQ PEND DISC CONN
09:00 410 0.42 0.00 0.11 0.05 0.26
14:00 380 0.47 0.00 0.12 0.09 0.26
02:00 1,250 2.10 0.95 0.14 0.71 0.30
Stacked bars of the example values: at 09:00 and 14:00 the response time is 0.42 and 0.47 ms with connect time dominant; at 02:00 it is 2.10 ms, with IOSQ 0.95 and disconnect 0.71 ms. Labelled Example values.

During the day, connect time dominates and the volume is healthy. At 02:00, during batch, response time is five times higher. Two components explain it: IOSQ (requests queue in z/OS, so alias capacity is short for that load) and disconnect (likely sequential reads that miss the cache). Pending time barely moves, so the paths are not the issue. The next step is the cache report and the alias configuration for that interval, not a faster channel.

Common pitfalls

  • Trusting the total. A stable total can hide a shift from connect to disconnect time after a configuration change.
  • Ignoring idle volumes with high response time. A volume with a handful of I/Os per second can show a high average for reasons that do not matter.
  • Forgetting shared DASD. Each system reports its own view of a volume. A reserve on one LPAR shows up as pending time on the others.
  • Mixing RMF and CMF layouts. The components mean the same thing, but column titles and report sections differ.

How zPulse reads the report

zPulse Disk reads the printed RMF Direct Access Device Activity report, or the CMF DASD activity report, as text files. It does not read raw SMF records, and nothing is installed on z/OS.

From those reports, zPulse charts the response time and its components (IOSQ, pending, disconnect, connect) per interval and per LPAR, with filters on LPAR, volume serial, storage group and LCU. It averages them by period for each LCU, storage group, volume and LPAR, and ranks the worst volumes by I/O rate, response time and each component, with IOSQ and pending alerts.

The same study reads the Cache Subsystem Activity and I/O Queuing Activity pages, so the cache misses and HyperPAV use that explain disconnect and IOSQ time sit next to the response time. A scheduled study can send a daily DASD mail that charts up to 60 days of history. See the zPulse overview for the other modules, or our expertise if you would rather have an expert read the results with you.

The quickest way to apply this method is on your own data: a free study runs your RMF or CMF reports through zPulse, and a Technical Storage expert walks you through the components that matter on your volumes.

Frequently asked questions

What is a good DASD response time on z/OS?

There is no single good value. It depends on the storage system, the copy services in use, the transfer sizes and the workload. Compare each volume with its own baseline and with your service levels, and look at which component dominates rather than at the total alone.

What is the difference between IOSQ time and pending time?

IOSQ time is spent inside z/OS, before the I/O is started, because the device is already busy with another request from the same system. Pending time starts once the I/O has been started and lasts until the path, the control unit and the device accept it.

Does high disconnect time always mean a cache problem?

No. Read cache misses are a common cause, but synchronous remote copy, write delays in the storage system and back-end contention also show up as disconnect time. Check the RMF Cache Subsystem Activity report and your copy services before you conclude.

Is the CMF device activity report the same as RMF 74.1?

BMC CMF MONITOR writes equivalent SMF type 74 records and prints its own DASD activity report. The four components have the same meaning, but the report layout and column titles differ from RMF.

Sources

  1. z/OS Resource Measurement Facility Report Analysis, IBM
  2. z/OS MVS System Management Facilities (SMF), SMF records, IBM
  3. IBM DS8000 and IBM Z Synergy (Redpaper REDP-5186), IBM Redbooks

About the author

Founder, Technical Storage · z/OS storage performance

Founder of Technical Storage, the z/OS storage performance company behind zPulse. Measuring mainframe Disk, Tape and CPU workloads since 1997.

Keep reading