Zuletzt aktualisiert am 04.12.2025 6 Minuten Lesezeit

IOPS

IOPS (Input/Output Operations Per Second) ist eine Kennzahl, die angibt, wie viele Lese- und Schreiboperationen ein Speichermedium pro Sekunde verarbeiten kann. Diese Metrik ist entscheidend für die Bewertung der Leistungsfähigkeit von Festplatten, SSDs und anderen Speichersystemen.

Stell dir IOPS wie die Anzahl der Bestellungen vor, die ein Restaurant pro Stunde bearbeiten kann. Ein schnelles Restaurant (hohe IOPS) kann viele kleine Bestellungen gleichzeitig abwickeln, während ein langsameres Restaurant (niedrige IOPS) mehr Zeit für jede einzelne Bestellung benötigt. Je höher der IOPS-Wert, desto reaktionsschneller ist das Speichersystem.

Grundlegende Definition und Bedeutung

IOPS misst die Anzahl der einzelnen Lese- und Schreiboperationen, die ein Speichergerät in einer Sekunde durchführen kann. Anders als der Durchsatz (Throughput), der das Datenvolumen in MB/s oder GB/s angibt, zählt IOPS die Operationen unabhängig von ihrer Größe. Diese Unterscheidung ist besonders wichtig bei Workloads mit vielen kleinen Dateizugriffen, wie sie in Datenbanken oder virtualisierten Umgebungen vorkommen.

Die Beziehung zwischen IOPS und Durchsatz lässt sich mit folgender Formel beschreiben:

Durchsatz (MB/s) = IOPS x Blockgröße (in MB)

Beispiel: Bei 10.000 IOPS und einer Blockgröße von 4 KB ergibt sich ein Durchsatz von etwa 40 MB/s.

Arten von IOPS-Messungen

Bei der Bewertung von Speichersystemen unterscheidet man verschiedene IOPS-Typen, die je nach Anwendungsszenario unterschiedlich wichtig sind:

  • Sequenzielle IOPS: Messen aufeinanderfolgende Lese-/Schreiboperationen, wie beim Streaming großer Dateien oder Backups
  • Random IOPS: Messen zufällige Zugriffe an verschiedenen Stellen des Speichermediums, typisch für Datenbanken und virtuelle Maschinen
  • Read IOPS: Ausschließlich Leseoperationen
  • Write IOPS: Ausschließlich Schreiboperationen
  • Mixed IOPS: Kombination aus Lese- und Schreiboperationen (z.B. 70/30 oder 50/50)

Für die Praxis gilt: Random IOPS sind meist der kritischere Wert, da viele Unternehmensanwendungen mit zufälligen Zugriffsmustern arbeiten. Die meisten Hersteller geben daher Random Read/Write IOPS mit 4-KB-Blöcken als Standardbenchmark an.

IOPS-Berechnung für Festplatten

Bei traditionellen Festplatten (HDDs) hängt die IOPS-Leistung direkt von mechanischen Eigenschaften ab: der Rotationsgeschwindigkeit und den Zugriffszeiten. Die grundlegende Formel zur Berechnung der theoretischen IOPS einer einzelnen Festplatte lautet:

IOPS = 1 / (durchschnittliche Latenz + durchschnittliche Suchzeit)

Beispiel für eine 10.000 RPM Festplatte:

  • Durchschnittliche Latenz: 3 ms
  • Durchschnittliche Suchzeit: 4,5 ms
  • IOPS = 1 / (0,003 + 0,0045) = ca. 133 IOPS

IOPS-Werte verschiedener Speichertypen

Die IOPS-Leistung unterscheidet sich je nach Speichertechnologie erheblich. Hier ein Überblick über typische Werte:

Speichertyp Typische IOPS (Random 4K)
HDD 7.200 RPM 50-100 IOPS
HDD 10.000 RPM 100-150 IOPS
HDD 15.000 RPM 150-200 IOPS
SATA SSD 10.000-50.000 IOPS
NVMe SSD (Consumer) 100.000-500.000 IOPS
NVMe SSD (Enterprise) 500.000-1.000.000+ IOPS

Die Tabelle zeigt deutlich, warum SSDs und insbesondere NVMe-Laufwerke in modernen Rechenzentren immer häufiger eingesetzt werden. Ein einzelnes NVMe-Laufwerk kann die IOPS-Leistung von hunderten herkömmlichen Festplatten übertreffen.

RAID und IOPS

RAID-Systeme beeinflussen die IOPS-Leistung erheblich. Während Leseoperationen von mehreren Festplatten profitieren können, entstehen bei Schreiboperationen sogenannte RAID-Penalties, die die effektive Schreib-IOPS reduzieren.

RAID-Level Read-Penalty Write-Penalty Beschreibung
RAID 0 1 1 Keine Redundanz, volle Leistung
RAID 1 1 2 Spiegelung, jeder Schreibvorgang doppelt
RAID 5 1 4 Ein Paritätslaufwerk, 4 I/O pro Schreibvorgang
RAID 6 1 6 Zwei Paritätslaufwerke, 6 I/O pro Schreibvorgang
RAID 10 1 2 Spiegelung + Striping

Für die Berechnung der benötigten Roh-IOPS bei einem bestimmten RAID-Level verwendest du folgende Formel:

Benötigte Roh-IOPS = (Workload-IOPS x %Read) + (Workload-IOPS x %Write x Write-Penalty)

Beispiel: Ein Datenbankserver benötigt 5.000 IOPS mit 60% Lesezugriffen und 40% Schreibzugriffen bei RAID 5:

Benötigte Roh-IOPS = (5.000 x 0,6) + (5.000 x 0,4 x 4) = 3.000 + 8.000 = 11.000 IOPS

Dieses Beispiel verdeutlicht, warum RAID 5 für schreibintensive Workloads wie Datenbanken oft nicht die beste Wahl ist. RAID 10 bietet hier einen deutlich geringeren Overhead bei gleichzeitig guter Redundanz.

Einflussfaktoren auf die IOPS-Leistung

Die tatsächliche IOPS-Leistung eines Speichersystems wird von mehreren Faktoren beeinflusst, die du bei der Planung berücksichtigen solltest:

  • Blockgröße: Kleinere Blöcke (4 KB) ermöglichen mehr IOPS, größere Blöcke (64 KB+) erhöhen den Durchsatz
  • Queue Depth: Die Anzahl der gleichzeitig wartenden I/O-Anfragen beeinflusst die Parallelisierung
  • Read/Write-Verhältnis: Leseoperationen sind bei den meisten Speichersystemen schneller als Schreiboperationen
  • Sequenziell vs. Random: Sequenzielle Zugriffe sind effizienter als zufällige Zugriffe
  • Cache-Trefferquote: Häufig gelesene Daten im Cache erhöhen die effektiven IOPS
  • Controller-Leistung: Der Storage-Controller kann zum Engpass werden

IOPS in der Praxis

In der IT-Praxis sind IOPS-Anforderungen ein wesentlicher Faktor bei der Dimensionierung von Storage-Systemen. Hier einige typische Szenarien:

Datenbankserver

Datenbanken wie MySQL, PostgreSQL oder Microsoft SQL Server arbeiten typischerweise mit kleinen, zufälligen I/O-Operationen. Ein mittelgroßer Datenbankserver benötigt oft 5.000-20.000 IOPS. Für die Latenz-kritischen Transaktionslogs werden häufig separate, besonders schnelle SSDs eingesetzt.

Virtualisierung

In virtualisierten Umgebungen teilen sich viele virtuelle Maschinen den gleichen Storage. Die aggregierten IOPS-Anforderungen können schnell auf 50.000-100.000 IOPS und mehr anwachsen. Hier ist eine sorgfältige Kapazitätsplanung entscheidend.

Cloud-Umgebungen

Cloud-Anbieter wie AWS, Azure und Google Cloud bieten Storage-Optionen mit garantierten IOPS-Werten an. Bei AWS EBS-Volumes kannst du beispielsweise zwischen verschiedenen Volume-Typen wählen, die unterschiedliche IOPS-Garantien bieten - von 3.000 IOPS (gp3) bis zu 256.000 IOPS (io2 Block Express).

IOPS-Benchmarking und Messung

Um die tatsächliche IOPS-Leistung eines Systems zu ermitteln, werden spezielle Benchmark-Tools eingesetzt. Diese simulieren verschiedene Workload-Muster und messen die resultierende Leistung.

  • fio (Flexible I/O Tester): Leistungsfähiges Open-Source-Tool für Linux und Windows
  • CrystalDiskMark: Beliebtes Windows-Tool für SSD-Benchmarks
  • Iometer: Umfangreiches Tool für Storage-Benchmarking
  • dd: Einfaches Unix-Tool für grundlegende Tests

Ein typischer fio-Befehl zum Testen von Random Read IOPS sieht so aus:

fio --name=randread --ioengine=libaio --iodepth=32 --rw=randread --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting

Dieser Befehl testet zufällige Lesezugriffe mit 4-KB-Blöcken, einer Queue Depth von 32 und vier parallelen Prozessen über 60 Sekunden.

Relevanz für die IT-Praxis

IOPS sind ein zentrales Thema in der Systemadministration und im Storage-Management. Als Fachinformatiker für Systemintegration wirst du regelmäßig mit IOPS-Berechnungen konfrontiert, sei es bei der Dimensionierung neuer Server, der Fehleranalyse bei Performanceproblemen oder der Migration zu Cloud-Diensten.

Auch in der Anwendungsentwicklung spielen IOPS eine Rolle: Datenbankabfragen, Caching-Strategien und die Wahl der richtigen Storage-Tier können die Anwendungsperformance erheblich beeinflussen.

Quellen und weiterführende Links