What is IOPS?
In our recent posts about Block Storage and Storage Tiering, we talked a lot about "performance." But in the cloud world, we don't just measure speed in "miles per hour." We measure it in IOPS.
If you are a developer or a sysadmin trying to figure out why your database is lagging, IOPS is the first number you need to check.
IOPS stands for Input/Output Operations Per Second.
It measures how many "reads" (getting data) and "writes" (saving data) a storage device can perform in one single second.
A "Read" is your app asking: "What is the user's password?"
A "Write" is your app saying: "Save this new profile picture."
The Analogy: Think of a Fast Food Drive-Thru.
Throughput (MB/s) is the size of the truck. A massive truck can carry 1,000 burgers at once, but it takes a long time to load and unload.
IOPS is how many individual cars the kitchen can serve in an hour.
If you have a busy database with thousands of people making tiny updates, you don't need a "big truck"; you need a kitchen that can handle high IOPS to get those cars moving fast.
This is where most people get confused. You need both, but for different reasons:
| Feature | IOPS (Operations) | Throughput (Bandwidth) |
| Measures... | How often you can read/write. | How much data you can move. |
| Unit | Number (e.g., 3,000 IOPS) | MB/s or GB/s |
| Best for... | Databases, Transactional Apps | Video Streaming, Big Data Backups |
| Analogy | Number of small packages delivered. | The total weight of the cargo. |
IOPS doesn't exist in a vacuum. The size of the "block" matters.
If your block size is small (e.g., 4KB or 8KB), your IOPS will be high.
If you try to move massive blocks (e.g., 256KB), your IOPS will drop because each operation takes more effort.
Most cloud providers (AWS, Azure, Google) base their performance "guarantees" on a standard 16KB or 256KB block size.
These are the "daily drivers." They usually give you a baseline of IOPS (like 3,000) and allow you to "burst" higher for short periods. Great for web servers and small boot disks.
This is for the heavy hitters. You tell the cloud provider: "I need exactly 15,000 IOPS at all times, no matter what." You pay a premium for this guarantee, but it’s essential for high-traffic databases like MongoDB, Cassandra, or SQL Server.
Some cloud disks use a "credit" system. If your app is quiet, you earn credits. When your app gets busy (like a Black Friday sale), the disk uses those credits to "burst" to a higher IOPS level temporarily.
When your application tries to do more operations than the disk allows, you hit "The Wall." 1. Latency Spikes: Instead of a request taking 1ms, it takes 100ms. 2. I/O Wait: Your CPU sits there doing nothing, just waiting for the disk to finish its work. 3. Application Crashes: To the user, the website feels "frozen" or "laggy."
IOPS is the metric of frequency. If your application does lots of small, quick tasks (like a banking app or a social media feed), IOPS is your most important storage stat. If you ignore it, your high-speed cloud server will feel like it's running through molasses.