Is your VM disk-bound?

When an app feels slow, the disk is the usual suspect and the usual false accusation. The panel has the data to settle it in one look: every disk carries exact IOPS and bandwidth limits, and the metrics show your live usage as a percentage of those limits.

Reading the Metrics tab

Open the VM and go to Metrics. Below the CPU and network charts, every disk (root and attached volumes) gets its own group with two charts:

  • IOPS: read and write operations per second, drawn against a horizontal line marking your class limit
  • Bandwidth: read and write MB/s, same idea

The header chips show the current values both ways at once: absolute numbers and percent of the limit.

The verdict in one look

What you seeWhat it means
IOPS line glued to the limit line Disk-bound on operations. Classic for databases and anything doing many small reads and writes
Bandwidth pinned at the limit, IOPS far below Disk-bound on throughput: large sequential transfers (backups, media, table scans)
Both far below the limit, app still slow The disk is not the problem. Look at CPU on the same page, or at the app itself: a chain of dependent small reads is bound by per-request latency, not by any limit

Confirming from inside the guest

To measure what the disk actually delivers, bypass the app entirely:

Terminal
# random 4k reads, the database-style pattern
fio -name=check -rw=randread -bs=4k -iodepth=64 -direct=1 \
    -ioengine=libaio -runtime=30 -time_based -filename=/tmp/fiotest -size=1G

If fio hits your class limit but your app does not, the bottleneck is in the app's IO pattern, not the disk.

Fixing it

  • Raise the speed tier. Tiers change in place with no data migration: R2 to R3 is a click. Tiers go up to 200k IOPS / 4 GB/s.
  • Commit-heavy database? Move to a Database (W) class: power-loss-protected NVMe where fsyncs run at full device speed.
  • Disposable data needing peak IOPS (caches, CI scratch): a Solo volume is effectively unthrottled.
  • Already at 50k on a Basic VM? That is the Basic generation's real ceiling. High Frequency guests drive the upper tiers, verified past 300k IOPS.

What's next?