Operations 11 min read

Why iostat’s %util and svctm Mislead on SSDs and How to Read Them Correctly

The article explains why iostat’s %util and svctm values, reliable for traditional disks, become misleading on modern SSDs and RAID arrays, and provides step‑by‑step methods, formulas, and practical benchmarks to reinterpret these metrics for accurate storage performance analysis.

dbaplus Community
dbaplus Community
dbaplus Community
Why iostat’s %util and svctm Mislead on SSDs and How to Read Them Correctly

Through SSD Benchmark, Interpreting util% Differences

Both tests use the same SSD device (sdb1) but with different benchmark commands, producing distinct IOPS results while %util and svctm both report 100%.

First test (A) shows lower IOPS; second test (B) shows much higher IOPS, yet both report 100% %util and svctm, demonstrating that these metrics no longer reflect true device load on SSDs.

iostat Core Item Interpretation

Key fields:

r/s + w/s : current IOPS (reads per second + writes per second).

await : average time a request spends in the queue plus service time (svctm), measured in milliseconds.

svctm : average service time of the device, excluding host‑side queueing; theoretically constant for a given device.

%util : device utilization; values near 100% traditionally indicate the device is fully busy.

For rotating disks, service time consists of head seek (~3 ms), rotational latency (e.g., 7200 rpm → 4.17 ms, 15000 rpm → 2 ms), and data transfer (often negligible).

Core Problem Explanation

Two observations from the benchmarks:

%util reaching 100% does not necessarily mean the device is fully saturated.

svctm, expected to be constant, varies significantly between tests.

In the era of mechanical disks, I/O is essentially serial, so %util accurately reflected load. Modern SSDs and RAID arrays can execute multiple I/O operations in parallel, breaking the original assumptions.

The original calculation assumes:

concurrency = (r/s + w/s) * (svctm / 1000)
%util = concurrency * 100%

Because svctm is itself derived from the same measurements, concurrency tends to be around 1, forcing %util to 100% regardless of actual load.

An analogy compares a single courier (mechanical disk) to a ninja with 15 clones (SSD/RAID). The old formula only counts the original courier, ignoring the clones, thus under‑estimating true utilization.

Correct Interpretation Method

Obtaining real svctm: Run a synthetic benchmark such as fio with synchronous I/O, a single thread, and io_depth=1. The measured service time from this test represents the true physical svctm.

Calculating true parallelism and util%: Use the measured svctm as a constant in the concurrency formula. For the second test (9342 IOPS, measured svctm ≈ 0.61 ms):

concurrency = (9342 + 0) * (0.61 / 1000) = 5.63762
%util = 5.63762 * 100% = 563.762%

This shows the device is handling roughly 5.6 parallel I/O streams, far beyond the single‑stream assumption.

Implement a small utility that reads iostat -x output, replaces the reported svctm with the pre‑measured true svctm, and recomputes %util for a more accurate view.

Using avgqu‑sz: When the average queue size exceeds 1.5 × the measured parallelism, the disk is considered heavily loaded. In the benchmark, avgqu‑sz = 9.21 and parallelism ≈ 5.63, giving a ratio of 1.63, indicating high pressure.

Additionally, a large gap between await and svctm (await ≫ svctm) signals significant host‑side queuing, another indicator of I/O stress.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

SSDsysstatLinux monitoringutilizationiostatstorage performancesvctm
dbaplus Community
Written by

dbaplus Community

Enterprise-level professional community for Database, BigData, and AIOps. Daily original articles, weekly online tech talks, monthly offline salons, and quarterly XCOPS&DAMS conferences—delivered by industry experts.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.