Speicher

Was ist NVMe?

Auch bekannt als: NVM Express
Definition

NVMe is a storage protocol that connects solid-state drives directly over PCIe, reaching roughly 500,000 random IOPS with sub-100-microsecond latency. Its deep parallel queue model is architecturally different from SATA, which inherits a single-queue design intended for mechanical disks.

Warum NVMe wichtig ist

Sein tiefes paralleles Warteschlangenmodell unterscheidet sich architektonisch von SATA, das ein Single-Queue-Design erbt, das für mechanische Festplatten gedacht ist. Bei datenbankgestützten Anwendungen ist die Lücke bei zufälligen IOPS der Unterschied, den Benutzer tatsächlich spüren.

NVMe in der Praxis

Wenn Sie eine NVMe-Instanz bereitstellen, sehen Sie sich zuerst die Queue Depth Ihrer Speicher-Workload an. Eine SATA-basierte Box erreicht unter Last nur ein paar tausend IOPS; NVMe hält etwa 500.000 zufällige IOPS mit einer Latenz unter 100 Mikrosekunden durch. Ändern Sie Ihre sysbench- und fio-Tests, um randread und randwrite zu messen, nicht sequenziellen Durchsatz, und beobachten Sie den Unterschied bei Datenbank-Commits. Wenn Sie für die Blockgröße einer SAS-Festplatte optimieren oder die Einstellungen des I/O-Schedulers ignorieren, lassen Sie den Großteil der Hardware-Leistung ungenutzt. Wenn Sie es falsch machen, steigt Ihre Latenz um das Hundertfache bei Workloads, die tatsächlich auf die Festplatte zugreifen.

Was Leute bei NVMe falsch machen

Die Leute nehmen an, NVMe sei nur eine schnellere SSD, und wählen daher einen Plan nach Größe in GB statt nach IOPS. Korrektur: NVMe unterscheidet sich durch das parallele Queue-Modell, nicht nur durch rohe Bandbreite. Ein großes SATA-Laufwerk wird bei zufälligem Einzel-Queue-I/O immer noch zum Engpass; ein kleineres NVMe-Laufwerk schlägt es bei Datenbank-Workloads. Größe ist wichtig, aber bei latenzempfindlicher Arbeit sind IOPS die Metrik, die Sie teuer zu stehen kommt, wenn Sie sie ignorieren.

NVMe – häufige Fragen

Welche zufälligen IOPS erreicht NVMe?

Ungefähr 500.000 zufällige IOPS, laut der veröffentlichten Definition. Das ist etwa tausendmal mehr als eine typische SATA-SSD. Die Latenz unter 100 Mikrosekunden bedeutet, dass Sie bei kleinen, zufälligen Lese- und Schreibzugriffen nicht auf die Mechanik der Festplatte oder eine einzelne SATA-Queue warten – Controller und PCIe-Bus sind der einzige Weg.

Brauche ich NVMe für eine Website?

Nur wenn Ihre Arbeitslast stark von zufälligen I/O-Operationen abhängt, wie bei einer Datenbank oder einem Cache. Bei statischer Dateiauslieferung oder einer Website mit geringem Traffic macht NVMe gegenüber SATA keinen spürbaren Unterschied. Der Unterschied zeigt sich bei anhaltenden gemischten Arbeitslasten, wenn die einzelne Warteschlange von SATA gesättigt ist und die Latenzzeiten ansteigen. Wenn Sie Postgres oder Redis betreiben, hält NVMe Ihre Tail-Latenzen niedrig.

Mehr aus speicher

IOPS
IOPS misst, wie viele einzelne Lese- oder Schreiboperationen ein Speichergerät pro Sekunde durchführt.
RAID 10
RAID 10 spiegelt Daten über Paare von Laufwerken und stripet über die Spiegel, was Redundanz und hohe Leistung bietet, auf Kosten der Hälfte der Rohkapazität.
Snapshot
Ein Snapshot ist eine Point-in-Time-Kopie eines virtuellen Maschinen-Datenträgers, die sofort erstellt und auf derselben Infrastruktur gespeichert wird.