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.
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
| Typ | Losowe 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.