RDS IOPS Calculator
Work out the IOPS and throughput an RDS volume needs, what is billable above the gp3 baseline, and whether the IOPS-to-GB ratio is legal.
Inputs
PostgreSQL uses 8 KB pages, MySQL InnoDB 16 KB.
Required Provisioned IOPS
8,250IOPS
Implied Throughput
128.9MB/s
Billable IOPS
5,250IOPS
Monthly IOPS Charge
$105.00
IOPS to Storage Ratio
Valid — 16.5 IOPS per GB, within the 500:1 limit
Step by step
Values used
Peak read operations = 4,000 IOPS; Peak write operations = 1,500 IOPS; Burst safety factor = 1.50 x; Average I/O size = 16 KB; Volume type = gp3 — 3,000 IOPS baseline included; gp3 IOPS included at no charge = 3,000 IOPS; gp3 price above baseline = 0.0200 $/IOPS-month; io1 provisioned IOPS price = 0.1000 $/IOPS-month; Allocated storage = 500 GB
RDS IOPS
required IOPS = (read + write) × burst factor; throughput MB/s = IOPS × I/O size ÷ 1024; billable gp3 IOPS = required − 3,000 baseline.
Required Provisioned IOPS
= 8,250 IOPS
Implied Throughput
= 128.9 MB/s
Billable IOPS
= 5,250 IOPS
Monthly IOPS Charge
= 105.00
IOPS to Storage Ratio
= Valid — 16.5 IOPS per GB, within the 500:1 limit
How it works
Database IOPS is the sum of read and write operations at the peak, not the average, so a burst factor is applied before sizing. gp3 includes 3,000 IOPS and 125 MB/s in the per-GB price and charges only for IOPS above that, while io1 and io2 charge for every provisioned IOPS. Both volume types cap the ratio of IOPS to allocated GB, which is why a small volume sometimes has to be over-allocated purely to unlock IOPS. Both IOPS prices are editable inputs seeded with realistic us-east-1 defaults, so confirm the current figures with AWS for your region before budgeting. Most RDS latency complaints are storage-bound, and the fix is usually a provisioned-IOPS or throughput change rather than a bigger instance — but only if the IOPS-to-GB ratio allows it.
Formula
RDS IOPS
required IOPS = (read + write) × burst factor; throughput MB/s = IOPS × I/O size ÷ 1024; billable gp3 IOPS = required − 3,000 baseline.
- burst factor
- Multiplier that covers peaks above the measured average
- baseline
- 3,000 IOPS and 125 MB/s that gp3 includes in the GB price
- ratio
- Provisioned IOPS per allocated GB — capped at 500:1 for gp3 and 50:1 for io1
Frequently Asked Questions
How is RDS IOPS calculated?
required IOPS = (read + write) × burst factor; throughput MB/s = IOPS × I/O size ÷ 1024; billable gp3 IOPS = required − 3,000 baseline. Database IOPS is the sum of read and write operations at the peak, not the average, so a burst factor is applied before sizing. gp3 includes 3,000 IOPS and 125 MB/s in the per-GB price and charges only for IOPS above that, while io1 and io2 charge for every provisioned IOPS. Both volume types cap the ratio of IOPS to allocated GB, which is why a small volume sometimes has to be over-allocated purely to unlock IOPS. Both IOPS prices are editable inputs seeded with realistic us-east-1 defaults, so confirm the current figures with AWS for your region before budgeting.
Why does RDS IOPS matter?
Most RDS latency complaints are storage-bound, and the fix is usually a provisioned-IOPS or throughput change rather than a bigger instance — but only if the IOPS-to-GB ratio allows it.
What values do I need to enter?
This calculator takes 9 inputs: Peak read operations, Peak write operations, Burst safety factor, Average I/O size, Volume type, gp3 IOPS included at no charge, gp3 price above baseline, io1 provisioned IOPS price, Allocated storage. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Why can I not provision 16,000 IOPS on a small gp3 volume?
RDS only allows gp3 IOPS above 3,000 once the volume is at least 400 GB for most engines, and the ratio of IOPS to GB is capped at 500:1. Below those thresholds you are pinned to the baseline no matter what you request.