EBS Provisioned IOPS Calculator for io1/io2

July 10, 2026

EBS Provisioned IOPS Calculator

Size io1 and io2 Block Express volumes from steady IOPS, peak multiplier, IOPS:GiB ratio, throughput, queue depth, headroom, and EC2 instance limits.

⚙Named Workload Presets
📝Provisioned IOPS Inputs
io2 Block Express allows a much higher IOPS:GiB ratio than io1.
Use the actual EBS optimized limit from the EC2 instance type when known.
Baseline read plus write operations per second before burst or peak reserve.
Use 1.5x to 4x for login storms, batch windows, failover, or ingest spikes.
Used to test the provisioned IOPS to GiB ratio for each volume.
Default is 1000 for io2 Block Express and 50 for io1.
Keep at 4000 for io2 Block Express, 1000 for high-end io1.
Throughput demand is IOPS x I/O size, capped by the volume and instance path.
Shows write IOPS pressure separately for redo, WAL, journaling, and compaction load.
High IOPS requires enough outstanding I/O from the OS, driver, and application.
Used to estimate the queue depth needed to sustain the requested IOPS.
Reserve for failover, read replicas, background maintenance, or measurement error.
Total EBS IOPS visible to the instance, across all attached EBS volumes.
Models extra I/O during replay, replica catch-up, or storage-level mirroring.
Enter the number of EBS volumes you intend to attach and stripe.
This label is shown in the result details and does not affect the math.
The calculator checks volume caps, IOPS:GiB ratio, throughput, queue depth, write pressure, and the EC2 instance EBS limit.
Provisioned IOPS Target
-
IOPS after peak and headroom
Minimum Stripe Count
-
volumes from ratio and cap
Throughput Demand
-
MiB/s at selected I/O size
Instance and Queue Status
-
cap and queue depth check
📊Provisioned IOPS Spec Grid
256k
io2 max IOPS
Requires Nitro support and enough application parallelism.
1000:1
io2 IOPS per GiB
A 256 GiB io2 Block Express volume can reach 256k IOPS.
64k
io1 max IOPS
Older instance families commonly cap achieved IOPS lower.
4000
io2 MiB/s cap
At 256 KiB I/O, 16k IOPS can already reach this cap.
🧭Volume Type Comparison Grid

io2 Block Express

Best fit when one volume must hold very high steady IOPS, high durability, and low latency with a 1000:1 IOPS:GiB ceiling.

io1 Provisioned IOPS

Previous generation choice with lower ratio and throughput ceilings. It is still useful for compatible designs that stay below 64k IOPS.

Striped EBS Set

Use multiple volumes only when capacity, ratio, or per-volume caps require it. The EC2 instance EBS cap still limits total delivery.

📘io1 and io2 Limit Reference
Volume type Size range Provisioned IOPS range IOPS:GiB ceiling Throughput ceiling
io2 Block Express 4 GiB to 64 TiB 100 to 256,000 IOPS Up to 1000:1 Up to 4000 MiB/s
io1 Provisioned IOPS SSD 4 GiB to 16 TiB 100 to 64,000 IOPS Up to 50:1 Up to 1000 MiB/s
io2 on non-Nitro path Attach support varies Often achieved to 32,000 IOPS Check instance path Check instance path
io1 above 32k 1,280 GiB or larger for 64k 64,000 IOPS requires Nitro 50 GiB per 2,500 IOPS Linear to 1000 MiB/s
📦I/O Size and Throughput Table
Average I/O size Throughput at 10k IOPS IOPS for 1000 MiB/s IOPS for 4000 MiB/s Planning note
8 KiB 78 MiB/s 128,000 IOPS 512,000 IOPS IOPS usually limits first.
16 KiB 156 MiB/s 64,000 IOPS 256,000 IOPS Matches many database random profiles.
64 KiB 625 MiB/s 16,000 IOPS 64,000 IOPS Throughput becomes important.
256 KiB 2500 MiB/s 4,000 IOPS 16,000 IOPS Large block scans can hit MiB/s caps early.
🖥Instance Cap Planning Table
Instance path Example calculator cap What to verify Common symptom Useful response
Nitro high EBS limit 256,000 IOPS Exact EC2 type EBS optimized limit Volume can exceed host path if ignored Use an instance with a matching EBS limit.
Nitro mid EBS limit 128,000 IOPS EBS bandwidth and IOPS both matter Latency rises at peak load Reduce target or scale instance class.
Nitro 64k class 64,000 IOPS Per-instance IOPS is total attached EBS Striping adds capacity but not host IOPS Keep total target below the host cap.
Non-Nitro practical cap 32,000 IOPS Older limits and EBS optimization support Provisioned IOPS not fully achieved Move to Nitro for larger targets.
📋Workload Preset Comparison Table
Preset Typical I/O shape Starting IOPS Peak multiplier Sizing warning
PostgreSQL OLTP 8 KiB to 16 KiB mixed random 18k steady 2.0x WAL and checkpoint spikes need headroom.
SQL Server TempDB Small random write-heavy 32k steady 2.4x Queue depth can become the hidden limiter.
SAP HANA Data Large 256 KiB data operations 16k steady 1.5x Throughput cap may matter before IOPS.
Kafka Broker Sequential writes plus reads 24k steady 1.8x Replica catch-up increases write pressure.
Elasticsearch Hot Tier Merge-heavy random and sequential blend 28k steady 2.2x Segment merges can double backend I/O.
🔢IOPS:GiB Ratio Examples
Target IOPS Minimum io2 GiB Minimum io1 GiB io2 stripe note io1 stripe note
10,000 IOPS 10 GiB 200 GiB One small io2 volume can fit ratio. Capacity floor is usually the limiter.
32,000 IOPS 32 GiB 640 GiB Check EC2 instance cap. Works on a large enough io1 volume.
64,000 IOPS 64 GiB 1,280 GiB One io2 volume can fit easily. io1 reaches its per-volume maximum.
256,000 IOPS 256 GiB Not one volume Requires Nitro and io2 Block Express. Requires multiple io1 volumes and host cap.
Measurement tip: Use steady IOPS from a real monitoring window, then size the peak multiplier from the busiest batch, login, compaction, or failover period instead of guessing from averages.
Queue tip: If the calculated queue depth is higher than the application can actually keep outstanding, the provisioned IOPS target may look valid on paper but remain unreachable in tests.

The capacity numbers will make all sorts of sense until you realize that buying terabytes of storage doesn’t matter if your disk isn’t fast enough to get an application the data it needs quickly. That’s why performance of a system is often measured not in raw capacity, but in terms of how fast it can delivers the data.

Before spinning up a single instance, you generaly want to know your limits here. Typically most folks begin with the number of IOPS they believe they require and go from there. That value alone, however, tell you nothing without context. Write amplification, burstiness, and your physical server’s ability to deliver the data all comes into play here.

Understanding Cloud Storage Limits and Choices

Because these factors are complex and connected, the calculator above lets you skip the guessing game and instead focus on the critical trade-off relationship between throughput, IOPS ratio, and volume size. What you’re forced to consider is that whatever your storage volume claims it can offer, your EC2 instance have a hard ceiling on its processing power. But the biggest no-no? You must not forget about the GiB-to-IOPS ratio.

Here’s where Amazon gives you two main provisioned option: io1 and io2. Older versions, io1 volumes, is stuck at a fifty-to-one ratio. Want sixty-four thousand IOPS? Fine, but it’ll cost you, you’re going to have to purchase an absurdly large one-point-two-terabyte volume before you can even hit that performance limit. In other words, you are paying for expensive storage capacity just to get speeds you may or may not use.

Newer io2 Block Express volumes flip that equation on it’s head, though. They has a one-thousand-to-one ratio. Same sixty-four thousand IOPS? No problem. Just give ’em a tiny sixty-four-gigabyte volume. And that sort of efficiency swing will change your budget projections overnight.

The other key consideration is throughput. Having sufficient IOPS for an app doesn’t necessarily mean that your throughput won’t be constrained. If you’re fetching large blocks of data (say, reading a video file), you’ll saturate bandwidth before running out of ops. It’s surprising how small of an op count it takes to max out a 4,000 megabytes/second limit when your workload is reading 256 kilobytes at a time. Fortunately, the tool allows you to tune for expected I/O size (a DB page read vs. It could be a video file stream. Miss the mark here and everything will feel sluggish, despite green metrics on paper.

Another thing to bear in mind: Raw speed isn’t everything; queue depth also matter. If you provision lots of IOPS but don’t feed them any work, those IOPS aren’t a guarantee. This means that if you are submitting requests single-threaded from within some piece of software and it’s pausing for a long time between each request, then even though the provision is high-performing, you’ll only see limited benefits. You should of have enough concurrent work in-flight to fully fill the underlying latency budget and bandwidth. A reference table on the page explain which type of workload matches each kind of queue requirement.

Keep in mind that this isn’t just about the device; it’s also about the case in which it sits. How fast is its network connection? How fast is the device’s storage connection? The newer Nitro-based instances support very high IOPS limits, while older non-Nitro types tops out much lower. You’ll be paying for performance you won’t get if your desired IOPS exceeds what the underlying host machine can provide. Make sure you check your intended EC2 family’s support for the IOPS and throughput you’re seeking with EBS optimization.

Finally, plan for some extra space. Real-world systems don’t tend to operate at 100% use throughout the entire day. Replication lag, failover, background maintenance activities; these can all cause spikes that drown an undersized volume. Twenty-five percent extra capacity is inexpensive insurance against performance-delay storms from out of the blue. Better to have a little bit too much than to be explaining why the database was slow during prime time.

The right size for storage comes from understanding the constraints of the hardware beneath it and engineering for the chaos that happens in the real world. With the numbers, you don’t guess; you engineer. Knowing the required queues, limits, and ratios gives you the clarity to turn a potential bottleneck into a solid foundation.

EBS Provisioned IOPS Calculator for io1/io2

Related posts

Leave a Comment