IOPS i throughput dysku

Reklamowana liczba IOPS dysku rzadko odpowiada temu, co dostajesz przy realnym rozmiarze bloku i głębokości kolejki. Ten kalkulator liczy w drugą stronę — na podstawie zmierzonego opóźnienia i rozmiaru bloku szacuje IOPS i przepustowość, z opcjonalnym mnożnikiem dla operacji równoległych.

Dane

Podaj średnie opóźnienie operacji w milisekundach — kalkulator wyprowadza z niego IOPS (⌊1000 / ms⌋), a nie bierze liczby „IOPS” z katalogu producenta.

Szybkie przykłady:

Wynik

Wprowadź dane i kliknij Oblicz.

IOPS vs przepustowość (MB/s)

IOPS to liczba operacji I/O na sekundę. Przepustowość to ile bajtów na sekundę (MB/s). Ten kalkulator wyprowadza IOPS z opóźnienia (⌊1000 / ms⌋), a potem MB/s z IOPS × rozmiar bloku. Wysoki IOPS nie zawsze oznacza wysokie MB/s — przy małych blokach możesz mieć dużo operacji i mało danych.

Jak IOPS × blok daje MB/s

Prosta zależność: przepustowość (KB/s) ≈ IOPS × rozmiar bloku (KB), potem ÷ 1024 → MB/s. Przykład intuicyjny (gdy znasz już IOPS): 10 000 IOPS × 4 KB ≈ 40 000 KB/s ≈ 39 MB/s. Ten sam IOPS przy 64 KB blokach daje ~640 MB/s — jeśli dysk i kontroler to wytrzymają.

Opcjonalna równoległość (głębokość kolejki) mnoży efektywny IOPS w uproszczonym modelu — realne SSD/NVMe skalują się dobrze, HDD dużo gorzej.

Losowe vs sekwencyjne obciążenia

  • Losowe małe bloki (4–8 KB) — typowe dla baz danych i indeksów; liczy się IOPS i latencja.
  • Sekwencyjne duże bloki (64 KB–1 MB+) — backup, media, skany; liczy się MB/s.
  • Małe losowe I/O „boli” HDD (ruch głowicy) i obciąża SSD przy wysokim zapisie; stąd limity IOPS w chmurze bywają osobne dla read/write.

HDD, SSD, NVMe i limity w chmurze

TypLosowe IOPS 4K (orientacyjnie)Typowa latencja
HDD 7200 rpm~75–100~5–10 ms
SATA SSD~10 000–90 000~0,1–1 ms
NVMe SSD~100 000–1 000 000+~0,02–0,1 ms

W chmurze (EBS, Managed Disks, Persistent Disk) dostajesz często limit IOPS i MB/s na wolumen — projektuj bazę pod te limity, nie pod „teoretyczne” IOPS dysku lokalnego.

Przykłady

  • 0,1 ms, blok 4 KB → 10 000 IOPS ≈ 39 MB/s (jak 10k IOPS × 4 KB).
  • 2 ms, blok 64 KB → 500 IOPS ≈ 31 MB/s (jak 500 IOPS × 64 KB).
  • Zmiana bloku przy tym samym IOPS: 10 000 IOPS × 4 KB ≈ 39 MB/s; × 16 KB ≈ 156 MB/s — większy blok podnosi MB/s, o ile obciążenie jest sekwencyjne.

FAQ — IOPS

Czy wyższy IOPS jest zawsze lepszy niż wyższa przepustowość?
Nie — zależy od obciążenia. Bazy i losowe małe I/O potrzebują IOPS/niskiej latencji; backup i streaming potrzebują MB/s. Optymalizuj pod swój wzorzec, nie pod jedną liczbę z katalogu.
Dlaczego małe losowe I/O szkodzi wydajności bazy?
Każde zapytanie generuje wiele małych odczytów/zapisów. Przy niskim IOPS kolejka rośnie, latencja zapytań skacze, a timeouty pojawiają się mimo „wolnego” CPU.
Jak limity IOPS w chmurze wpływają na projekt?
Wolumen często ma twardy limit IOPS i MB/s. Jeśli baza go przebija, dokupujesz IOPS, dzielisz dane (sharding) albo przenosisz hotspoty na szybszą klasę dysku — sam „większy” VM nie wystarczy.
Czym różni się IOPS od MB/s?
IOPS liczy operacje; MB/s liczy dane. Przy 4 KB blokach wysoki IOPS może dać umiarkowane MB/s; przy dużych blokach na odwrót.
Co robi opcjonalna równoległość w tym kalkulatorze?
Mnoży efektywny IOPS (uproszczenie głębokości kolejki). Realne SSD/NVMe korzystają z kolejki; HDD znacznie mniej.
Dlaczego spec producenta różni się od pomiaru?
Specy bywają z optymalnego benchu (100% odczyt 4K, wysoka kolejka). Realny mix read/write i różne bloki dają zwykle niższy wynik.
Czy RAID zmienia IOPS?
Tak — stripe może podnieść równoległość; parzystość (RAID 5/6) zwykle zwiększa koszt zapisów. Ten kalkulator liczy z podanej latencji wolumenu, nie modeluje RAID osobno.
Jak powiązać wynik z bazą danych?
Mierz latencję I/O i IOPS pod obciążeniem (iostat, cloud metrics). Jeśli kalkulator przy Twojej latencji daje IOPS poniżej limitu wolumenu, masz zapas; jeśli ruch jest wyższy — bottleneck jest blisko.