## TL;DR

The agent downsized the volume on size and cost while the database needed the old volume's IOPS, so the gp3 volume (with its lower baseline IOPS) throttled under load. Size EBS volumes on all three axes: capacity, IOPS, and throughput, taking the maximum the workload needs. Storage rightsizing that ignores performance is just degradation with extra steps.

## Error

```text
agent's rightsizing ignored the iops requirement  -  the gp3 volume throttled the database
```

## Steps

1. Confirm the throttle: check the volume's IOPS and throughput against its provisioned limits during peak. Expected: the metrics show throttling at the new limits.
2. Measure the database's actual IOPS and throughput requirements over a full cycle. Expected: the required numbers are known.
3. Resize the volume (or raise gp3 IOPS and throughput independently) to cover the requirement with headroom. Expected: the volume meets the workload's performance needs.
4. Add IOPS and throughput to the agent's rightsizing model as hard constraints. Expected: future recommendations respect performance floors.
5. Re-run the rightsizing analysis. Expected: recommendations size for performance first, cost second.

## When to use

- A downsized volume throttles a database.
- Rightsizing ignores IOPS or throughput.
- gp3 migrations that cut performance.

## When not to use

- The database is CPU-bound (volume performance is not the issue).
- The throttle is from the instance's EBS bandwidth (an instance limit).
- The workload's IOPS needs are genuinely low.

## Tool compatibility

AWS EBS gp3, CloudWatch (current 2026 releases).

### Variant phrasings

### database slow after volume rightsizing

Check IOPS throttling on the new volume.

### gp3 migration throttled the workload

Provision gp3 IOPS and throughput to match the old volume's performance.

### rightsizing cut storage cost but broke performance

Size on capacity, IOPS, and throughput together.

## Why it happens

EBS pricing tempts size-first optimization: smaller volumes cost less, and gp3 decouples performance from size, which agents read as a free lunch. But the workload's IOPS requirement is a hard floor, and gp3's baseline IOPS scale with neither magic nor goodwill. Performance-aware rightsizing treats IOPS and throughput as constraints the cost optimization must satisfy, not as details to discover in production.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_RTX_MJlJI29-TJOBKTeQAA
