---
title: "What is IOPS and why it matters more than MB/s on a disk | StreetHosting"
description: "Learn what IOPS, throughput and storage latency mean, how random and sequential reads differ, and how to measure your server's disk with fio."
url: "https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage"
type: "page"
language: "en-US"
---

Infrastructure · 9 min · Intermediate

Published on Nov 13, 2026 · Updated on Nov 13, 2026

# IOPS, throughput and latency: how to really measure your server's disk performance

The MB/s figure on a disk's box tells only half the story. Databases and operating systems live on IOPS and latency with small random blocks, and that is what separates HDD, SATA SSD and NVMe.

By [Equipe StreetHosting](https://streethosting.com.br/en/autores#equipe-streethosting) · StreetHosting infrastructure and support team

[Latency and ping](https://streethosting.com.br/en/guides/topics/latency)

Summarize with:

[](https://chat.openai.com/?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "ChatGPT") [](https://claude.ai/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Claude") [](https://www.google.com/search?udm=50&aep=11&q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Google AI Mode") [](https://x.com/i/grok?text=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Grok") [](https://www.perplexity.ai/search/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Perplexity")

Share:

[](https://x.com/intent/tweet?text=What%20is%20IOPS%20and%20why%20it%20matters%20more%20than%20MB%2Fs%20on%20a%20disk&url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage "Share on X") [](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage "Share on Facebook") [](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage "Share on LinkedIn") [](https://wa.me/?text=What%20is%20IOPS%20and%20why%20it%20matters%20more%20than%20MB%2Fs%20on%20a%20disk%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fwhat-is-iops-storage "Share on WhatsApp")

For agents: Copy as Markdown [.md](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage.md)

In this guide 7 sections

* [IOPS, throughput and latency](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#tres-numeros)
* [Random and sequential reads](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#aleatorio-sequencial)
* [Queue depth](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#fila)
* [Why databases depend on IOPS](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#banco-de-dados)
* [HDD, SATA SSD and NVMe](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#ordem-de-grandeza)
* [How to measure with fio](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#medir-com-fio)
* [Fast disk in practice](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#onde-rodar)

Quick answer

**IOPS** are the read or write operations a disk completes per second. They only make sense next to two other numbers: throughput, in MB/s, and latency, the time each operation takes. For databases, operating systems and any workload with lots of small files, what rules is IOPS on random 4 KB blocks. In orders of magnitude, an HDD delivers hundreds, a SATA SSD tens of thousands and an NVMe drive hundreds of thousands or more. To measure your own server, use `fio`.

## IOPS, throughput and latency[](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#tres-numeros)

When people compare disks, three numbers come up, and each one answers a different question.

* **IOPS:** how many requests the disk serves per second. Each read or write of a block is one operation, whatever its size.
* **Throughput:**how many megabytes pass per second. It is the figure the disk's packaging tends to highlight.
* **Latency:** how long an operation takes from request to answer. It tells you how long the program sits waiting for the disk.

The three are tied by a simple formula: throughput equals IOPS times block size. With 4 KB blocks, 100 thousand IOPS give about 400 MB/s. With 1 MB blocks, just 500 IOPS already deliver 500 MB/s. That is why a disk can look fast on one measure and slow on another. Someone reading a big video wants throughput. Someone serving a thousand database queries per second wants IOPS and low latency.

The same idea applies to networks, where [latency and throughput are also separate measures](https://streethosting.com.br/en/guides/infrastructure/what-is-latency-and-ping). A big link does not guarantee a quick answer, and a disk that is fast in MB/s does not guarantee quick answers to small requests.

## Random and sequential reads[](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#aleatorio-sequencial)

In a sequential access, the program reads or writes neighboring blocks, one after another: copying a big file, restoring a backup, reading a log from start to end. In a random access, each request points to a different place on the disk: opening thousands of small files, querying rows scattered across a table, loading libraries at startup.

For an HDD the difference is huge, because every random access means moving the mechanical arm and waiting for the platter to spin to the right spot. That takes a few milliseconds per operation, which is why it has only a few hundred IOPS. An SSD has no moving parts, so a random access costs almost the same as a sequential one, and the gap between the two measures is much smaller.

The standard used to compare disks is the 4 KB block, because it is the default block size of most file systems and the memory page size on Linux. When a test says only that the disk does 3000 MB/s, it is almost always a sequential read with a big block. The number that predicts how the server will behave with a database is the random 4 KB one.

## Queue depth[](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#fila)

Queue depth is how many requests stay open at once waiting for the disk. With depth 1, the program sends one request and only sends the next when the answer comes back. The result depends entirely on latency: if each operation takes 100 microseconds, you get at most 10 thousand IOPS.

An SSD, and especially an NVMe drive, has several internal channels working in parallel. With depth 32 or more it uses all of them and IOPS climbs a lot, while the latency of each request grows a little. An HDD gains almost nothing from a deep queue, because it has only one arm.

That is why the figure advertised by the manufacturer, almost always measured with a deep queue and several processes, is much higher than what an ordinary program manages. An application that runs one query at a time lives close to the depth 1 scenario. A server with many simultaneous clients gets closer to the deep queue scenario. Both tests are valid, and they answer different questions: the first shows the disk's latency, the second shows the ceiling.

## Why databases depend on IOPS[](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#banco-de-dados)

A relational database stores data in small pages, usually 8 KB or 16 KB, and a query may need pages scattered across the disk. On top of that, every committed write goes through the transaction log and waits for the disk to guarantee it was stored before answering the client. That wait is pure latency, and every transaction pays for it.

The practical result: a database on a low IOPS disk is limited by storage long before the CPU or RAM run out. The symptoms are familiar: low CPU use, high query time and high disk wait, which shows up in the `wa` field of `top` and in the `%iowait` of `iostat`. More RAM helps, because the cache holds more pages, but writes and cache misses still go to the disk.

This is one reason to [choose a VPS for a database](https://streethosting.com.br/en/guides/vps/choose-vps-for-database) by looking at the disk type before the number of cores. The same goes for WordPress with many plugins, online stores and any system that opens many small files.

## HDD, SATA SSD and NVMe[](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#ordem-de-grandeza)

The values below are orders of magnitude for random 4 KB reads and for sequential reads, under good conditions. Specific models vary a lot, and server disks often exceed what appears here.

| Type         | IOPS at random 4 KB                        | Sequential throughput       | Typical latency                 |
| ------------ | ------------------------------------------ | --------------------------- | ------------------------------- |
| 7200 rpm HDD | 100 to 200                                 | 100 to 250 MB/s             | Several milliseconds            |
| SATA SSD     | Tens of thousands                          | Up to about 550 MB/s        | Around 100 microseconds         |
| NVMe SSD     | Hundreds of thousands up to over 1 million | From 3000 to over 7000 MB/s | Between 20 and 100 microseconds |

The SATA SSD ceiling is the interface itself, at 6 Gbit/s, which caps throughput at about 550 MB/s. NVMe uses the PCIe bus, without that bottleneck, and talks to the processor through several queues in parallel. It is not just faster in MB/s: latency drops and IOPS grows with a deep queue, which is where servers with a lot of concurrency win. The full comparison, with price and recommended use, is in [the difference between HDD, SSD and NVMe](https://streethosting.com.br/en/guides/infrastructure/hdd-vs-ssd-vs-nvme).

On a server with several disks, RAID changes these numbers: mirroring can up to double reads without gaining on writes, and striping data across the disks adds up the throughput. The guide on [RAID on servers](https://streethosting.com.br/en/guides/infrastructure/what-is-raid-server-storage) explains each level.

## How to measure with fio[](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#medir-com-fio)

`fio` is the standard tool for testing storage on Linux. On Ubuntu and Debian, install it with `sudo apt install fio`. The tests below use a 2 GB file in `/var/tmp`, the `--direct=1` option to bypass the system's memory cache and `--ioengine=libaio` for asynchronous access.

First, the random 4 KB read with a deep queue, which shows the IOPS ceiling:

`fio --name=leitura-aleatoria --filename=/var/tmp/fio-teste \ --size=2G --rw=randread --bs=4k --iodepth=32 --numjobs=1 \ --ioengine=libaio --direct=1 --runtime=30 --time_based \ --group_reporting`

Then the same read with depth 1, which shows the latency an ordinary program feels:

`fio --name=latencia-fila-1 --filename=/var/tmp/fio-teste \ --size=2G --rw=randread --bs=4k --iodepth=1 --numjobs=1 \ --ioengine=libaio --direct=1 --runtime=30 --time_based \ --group_reporting`

And the sequential read with big blocks, which shows the maximum throughput:

`fio --name=leitura-sequencial --filename=/var/tmp/fio-teste \ --size=2G --rw=read --bs=1M --iodepth=8 --numjobs=1 \ --ioengine=libaio --direct=1 --runtime=30 --time_based \ --group_reporting`

In the output, look for three lines:

1. **read: IOPS=...**, with the throughput right beside it, in the BW field. It is the main result of the test.
2. **clat percentiles:** the completion latency. Look at the 99th percentile, which shows the slowest requests. A good average with a bad p99 means occasional stalls.
3. **util:** at the end of the report, how busy the disk was. Close to 100 percent means the test reached the limit.

Done? Delete the test file:

`rm /var/tmp/fio-teste`

Write tests are where the danger lives. If you swap `--rw=randread` for `randwrite` and point `--filename` at a device such as `/dev/sda` or `/dev/nvme0n1`, fio overwrites the disk and destroys the file system and the data. On a disk that already holds data, write only to a regular file, as in the examples above, and use the raw device only on an empty disk that holds nothing you want to keep. Avoid running the test in production during busy hours, because it keeps the whole disk busy and the other services will feel it.

On a VPS, remember that your server's disk is shared with other customers on the same host. Run the test more than once, at different times, before drawing conclusions. To watch what the disk does day to day, the guide on [how to check CPU, RAM, disk and network on Linux](https://streethosting.com.br/en/guides/vps/check-cpu-ram-disk-network-linux) covers `iostat` and other monitoring tools.

## Fast disk in practice[](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#onde-rodar)

Measuring IOPS only makes sense when you control the server, install fio and can repeat the test. On [StreetHosting VPS](https://streethosting.com.br/en/vps) you get root access, and every VPS uses NVMe storage. The Xeon VPS starts at R$ 26.00 per month with 2 vCPU, 2 GB of RAM and 20 GB of NVMe, which suits a small database or a website.

When the project needs more disks, control over RAID or a database load that fills the whole machine, [dedicated servers](https://streethosting.com.br/en/dedicated) are the way to go: they are in São Paulo, delivered within 6 days. Before you commit, confirm the model and the disk type on each configuration's page.

In this guide

* [IOPS, throughput and latency](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#tres-numeros)
* [Random and sequential reads](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#aleatorio-sequencial)
* [Queue depth](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#fila)
* [Why databases depend on IOPS](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#banco-de-dados)
* [HDD, SATA SSD and NVMe](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#ordem-de-grandeza)
* [How to measure with fio](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#medir-com-fio)
* [Fast disk in practice](https://streethosting.com.br/en/guides/infrastructure/what-is-iops-storage#onde-rodar)

## Frequently asked questions

What does IOPS mean?

IOPS stands for input/output operations per second. Each read or write of a block counts as one operation. A disk with 50 thousand IOPS at 4 KB blocks can serve 50 thousand small requests per second, which matters a lot for databases and for the operating system.

What is the difference between IOPS and MB/s?

MB/s measures how much data moves per second, and IOPS measures how many requests the disk serves per second. The math is throughput equals IOPS times block size. A disk can show high MB/s reading big files in sequence and low IOPS on small, scattered requests.

How many IOPS do an HDD, a SATA SSD and an NVMe drive have?

On 4 KB random reads, a 7200 rpm HDD sits around 100 to 200 IOPS, a SATA SSD in the tens of thousands and a server NVMe drive between hundreds of thousands and over a million. These are orders of magnitude, and the real value depends on the model, the firmware and the queue depth.

Can I run fio on a production server?

Reading a test file is safe, but it saturates the disk and can slow the service while it runs. A write test points at a file and never at the whole device. Writing straight to a device such as /dev/sda erases whatever data is on it.

Why did my test show fewer IOPS than the manufacturer claims?

The manufacturer figure usually comes from ideal conditions, with a deep queue and several processes in parallel. A test with queue depth 1 or a single process gives a much lower result. On a VPS the disk is also shared with other customers, and the host may cap the IOPS of each server.

Next step

See VPS plans

Root VPS in Brazil with NVMe and Anti-DDoS.

[See VPS plans](https://streethosting.com.br/en/vps)

[See dedicated servers Exclusive hardware in São Paulo with NVMe and Anti-DDoS.](https://streethosting.com.br/en/dedicated)

## Related guides

[Infrastructure Beginner HDD vs SSD vs NVMe: server storage differences A slow disk stalls loading and backups. Learn the difference between HDD, SSD and NVMe without jargon, and when it is worth insisting on NVMe for games, databases and websites. 3 min Read guide](https://streethosting.com.br/en/guides/infrastructure/hdd-vs-ssd-vs-nvme) [Infrastructure Beginner What is RAID and how does it work in server storage RAID combines multiple disks to improve performance or redundancy. But RAID is not a backup. Learn about RAID 0, 1, 5 and 10 and when each type makes sense for your server. 3 min Read guide](https://streethosting.com.br/en/guides/infrastructure/what-is-raid-server-storage) [VPS Intermediate How to choose a VPS for a database: RAM, CPU and NVMe A slow database is rarely fixed with more vCPUs: almost always it is short on RAM for the hot data or stuck on disk latency. Learn how to measure what your database actually consumes and pick the plan by the right number. 10 min Read guide](https://streethosting.com.br/en/guides/vps/choose-vps-for-database)

[← Back to the Guide Center](https://streethosting.com.br/en/guides)
