Skip to main content
rightsizing · gcp

SSD persistent disks serving under 100 IOPS that could run on pd-balanced

resource types
1
rule IDs covered
1
severity
low

What does ZopNight detect here?

An SSD persistent disk (`pd-ssd`) is priced for high IOPS, and many carry workloads that barely touch it. ZopNight flags `pd-ssd` disks whose average read plus write operations stayed under 100 per second over 32 days, and prices a move to `pd-balanced` from real per-GB rates for both disk types.

Signal and threshold

How ZopNight evaluates SSD persistent disks serving under 100 IOPS that could run on pd-balanced.
Field Value
Rule IDsRC-1234
Categoryrightsizing
Severitylow
Metricinstance/disk/read_ops_count, instance/disk/write_ops_count
Thresholdread + write average under 100 ops/sec
Evaluation window32d
SourceZopNight
Permissions usedcompute.disks.list · compute.disks.get · monitoring.timeSeries.list

Paying SSD rates for balanced-disk traffic

Compute Engine offers several Persistent Disk types. Google’s disk type overview describes pd-balanced as a balance of performance and cost that, for most machine types, has the same maximum IOPS as pd-ssd with lower IOPS per GiB, priced between standard and SSD disks. The performance tables give zonal pd-balanced 6 read and write IOPS per GiB against 30 for pd-ssd.

Persistent Disk is billed per provisioned GB with I/O included, so a pd-ssd volume that serves a few dozen operations a second is paying for headroom it never uses.

Finding quiet SSD disks

Terminal window
gcloud compute disks list --filter="type~pd-ssd" --format="table(name,zone,sizeGb,users)"

For each disk, chart compute.googleapis.com/instance/disk/read_ops_count and instance/disk/write_ops_count for its VM and device over the last month, converted to a rate per second.

The IOPS ceiling that triggers a finding

The disk type must be pd-ssd. ZopNight reads both the read and the write operation series for the disk over 32 days, adds their averages, and fires when the total is under 100 operations per second. Both series are required; if either is missing, that is treated as a data gap and nothing is raised.

Disks it will not score

A disk without rates for both pd-ssd and pd-balanced in its region gets no finding, since the saving must come from real prices rather than a flat discount. Averages hide bursts, so check peak IOPS and latency before converting anything that backs a database.

Rate difference between SSD and balanced

Terminal window
saving = current monthly disk cost x (pd-ssd rate - pd-balanced rate) / pd-ssd rate

Converting a disk to pd-balanced

ZopNight gives this as guidance; the change is manual. Google’s disk modification guide states that you cannot change the type of an existing Persistent Disk in place.

  1. Stop the VM the disk is attached to.
  2. Snapshot the disk: gcloud compute snapshots create SNAPSHOT_NAME --source-disk=DISK_NAME --source-disk-zone=ZONE.
  3. Create a new disk from it: gcloud compute disks create NEW_DISK --zone=ZONE --type=pd-balanced --source-snapshot=SNAPSHOT_NAME.
  4. Detach the old disk, attach the new one (as boot disk if it was one), and start the VM.
  5. After testing, delete the old disk and the snapshot; both bill until you do.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

472 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

472 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·