SSD Nodes Learn 8GB RAM — $66/Jahr
Anleitungen Matt ConnorVon Matt Connor

Was ist ein SSD VPS? Flash-Speicher erklärt

Ein SSD VPS nutzt Flash statt Festplatten. Er bietet mehr IOPS und geringere Latenz. Diese drei Fragen helfen Ihnen, Angebote vor dem Kauf richtig zu prüfen.

Was ist ein SSD VPS?

Ein SSD VPS ist ein virtueller privater Server, dessen Speicher auf Flash-Speicher statt auf einer rotierenden Festplatte basiert. SSD steht für Solid State Drive: ein Speicher aus NAND-Flash-Chips ohne bewegliche Teile. VPS steht für Virtual Private Server: ein isolierter Bereich auf einer physischen Hostmaschine, auf dem ein eigenes Betriebssystem ausgeführt wird und der Ihnen wie ein vollständiger Server bereitgestellt wird. Zusammengenommen bedeutet die Bezeichnung eines: Wenn Ihr Server einen Datenblock liest, muss sich vorher nichts Mechanisches bewegen.

Das ist die vollständige Definition. Im Folgenden geht es darum, was diese Bezeichnung nicht sagt. Die Wörter „SSD-Hosting“ auf einer Preisseite sagen nur sehr wenig über das dahinterliegende Speicher-Array aus.

Wenn Sie noch klären, wie sich ein VPS von einer einfachen virtuellen Maschine unterscheidet, lesen Sie zuerst den Unterschied zwischen einem VPS, einer VM und einer VPC.

Warum Hoster Speichergeschwindigkeit statt Speichergröße angeben

Eine Tarifseite führt CPU-Kerne, Arbeitsspeicher, Festplattengröße und Bandbreite auf und ergänzt dann ein Wort zum Datenträger, das überhaupt keine Größenangabe ist. Hoster tun das, weil die Kapazität seit Jahren nicht mehr die wichtigste Kennzahl für Speicher ist. Die beiden Werte, die bestimmen, wie sich ein Server anfühlt, sind IOPS (Eingabe-/Ausgabeoperationen pro Sekunde) und Latenz (wie lange eine Operation bis zur Antwort benötigt).

Der Grund ist der mechanische Unterschied. Eine Festplatte speichert Daten auf rotierenden Plattern und liest sie mit einem Kopf an einem beweglichen Arm. Um einen Block an einer anderen Stelle des Platters zu erreichen, muss der Arm eine Suchbewegung ausführen. Danach muss sich die Festplatte drehen, bis der richtige Sektor unter dem Kopf liegt. Bei 7200 Umdrehungen pro Minute dauert eine halbe Umdrehung durchschnittlich etwa 4 ms. Die Suchbewegung kommt noch hinzu und dauert mehrere weitere Millisekunden. Flash hat weder einen Arm noch einen Platter. Ein Lesevorgang ist daher eine elektrische Abfrage und liefert das Ergebnis innerhalb von einigen zehn Mikrosekunden.

ChartRandom 4k read, published device class specifications rather than VPS measurements
The data behind this chart
[
  {
    "device": "7200 rpm hard disk",
    "random_read_iops": "125",
    "read_latency_ms": 8
  },
  {
    "device": "SATA SSD",
    "random_read_iops": "90,000",
    "read_latency_ms": 0.15
  },
  {
    "device": "NVMe SSD",
    "random_read_iops": "600,000",
    "read_latency_ms": 0.08
  }
]

Eine Festplatte mit 7200 rpm ist für ungefähr 125 zufällige 4k-Lesevorgänge pro Sekunde ausgelegt. Einer dieser Lesevorgänge benötigt etwa 8 ms bis zur Antwort. Ein NVMe-Laufwerk ist für ungefähr 600,000 derselben Lesevorgänge ausgelegt, bei etwa 0.08 ms pro Vorgang. Die SATA-SSD dazwischen ist für ungefähr 90,000 ausgelegt. Betrachten Sie diese Werte als Größenordnungen, nicht als prozentuale Verbesserung.

Zu diesen Daten gibt es zwei Warnungen. Es handelt sich um veröffentlichte Spezifikationen für vollständige Laufwerke der jeweiligen Klasse. Die Werte stammen daher aus den Datenblättern der Hersteller und wurden nicht auf einem VPS gemessen. Außerdem erhalten Sie nie ein vollständiges Laufwerk. Ihr Volume ist ein Anteil eines Geräts oder eines Arrays. Auf derselben Hardware befinden sich weitere Kunden.

Die beiden Spalten beantworten unterschiedliche Fragen. Lesen Sie sie daher gemeinsam. Die Latenz gibt an, wie lange Sie auf eine einzelne Operation warten. IOPS geben an, wie viele Operationen das Laufwerk gleichzeitig verarbeiten kann. Flash erreicht seine hohen IOPS-Werte durch Parallelität. Viele Flash-Chips beantworten gleichzeitig viele Anfragen, während eine tiefe Warteschlange sie auslastet. Ein Single-Thread-Programm, das jeweils einen Lesevorgang ausführt, darauf wartet und dann den nächsten startet, erreicht nie den oberen Bereich dieser Tabelle. Es sieht stattdessen den Wert aus der Latenzspalte.

SSD, NVMe, SATA und PCIe: vier Begriffe auf vier verschiedenen Ebenen

Käufer verwechseln diese Begriffe, weil jeder einen anderen Teil des Systems beschreibt.

  • SSD bezeichnet das Speichermedium. Die Daten liegen auf NAND-Flash-Chips und nicht auf magnetischen Platten.
  • SATA ist eine Schnittstelle, die in der Ära mechanischer Festplatten entwickelt wurde. Sie erreicht maximal 6 Gbit/s. Das entspricht einem realen Durchsatz von etwa 550 MB/s. Ihre Befehlswarteschlange kann 32 ausstehende Befehle aufnehmen.
  • NVMe (non-volatile memory express) ist ein speziell für Flash entwickeltes Protokoll. Es unterstützt viele Warteschlangen mit jeweils Tausenden von Befehlen. Dadurch können mehrere CPU-Kerne gleichzeitig mit dem Laufwerk kommunizieren, ohne sich eine einzige schmale Warteschlange teilen zu müssen.
  • PCIe (peripheral component interconnect express) ist der Bus, über den NVMe läuft. Grafikkarten werden über dieselbe Art von Lanes angeschlossen.

Eine SATA-SSD und eine NVMe-SSD speichern Daten also beide auf Flash. Sie unterscheiden sich in der verwendeten Schnittstelle. Eine SATA-SSD ist weiterhin deutlich schneller als jede Festplatte. Die Warteschlange mit 32 Befehlen begrenzt jedoch, wie viel parallele Arbeit sie verarbeiten kann. Gerade für parallele Arbeit ist Flash besonders geeignet. Welche Variante den Aufpreis wert ist, hängt von Ihrer Arbeitslast ab. Die Entscheidung zwischen NVMe- und SATA-SSD erläutert die Unterschiede ausführlich.

Lokaler Flash-Speicher oder netzwerkgebundener Speicher?

Unter demselben Begriff werden zwei sehr unterschiedliche Varianten angeboten.

Lokaler Speicher bedeutet, dass sich die Flash-Laufwerke im selben physischen Host wie Ihre VPS befinden. Eine Anfrage läuft innerhalb eines Rechners über PCIe und kommt direkt zurück. Dadurch bleibt die Latenz im Bereich von einigen Dutzend Mikrosekunden.

Netzwerkgebundener Speicher bedeutet, dass Ihre virtuelle Festplatte in einem separaten Speichercluster liegt, häufig auf Ceph oder einem SAN (storage area network). Jeder Lese- und Schreibvorgang muss ein Netzwerk durchqueren, um den Speicher zu erreichen. Anbieter bezeichnen dies üblicherweise als "cloud block storage" oder "elastic volumes". Der Flash-Speicher ist real. Der Netzwerkweg ist ebenfalls real und kommt zu jedem einzelnen Vorgang hinzu. Deshalb liegt die Latenz im hohen Bereich von mehreren hundert Mikrosekunden oder im niedrigen Millisekundenbereich statt im Bereich von einigen Dutzend Mikrosekunden.

Keine der beiden Varianten ist grundsätzlich falsch. Netzwerkgebundener Speicher übersteht den Ausfall eines Hosts, weil sich die Daten nie auf diesem Host befanden. Der Anbieter kann Ihren Server auf anderer Hardware starten, und die Festplatte folgt ihm. Lokaler NVMe-Speicher ist schneller und an eine physische Maschine gebunden. Ein Hardwareausfall bedeutet dort daher eine Wiederherstellung aus dem Backup. Fragen Sie, welche Variante ein Tarif verwendet. Das tut fast niemand.

So fühlt sich der Unterschied auf einem echten Server an

Serverarbeit besteht überwiegend aus kleinen, zufälligen Lese- und Schreibvorgängen, nicht aus langen sequenziellen Übertragungen. Deshalb ist der MB/s-Wert in den Marketingangaben die am wenigsten nützliche Zahl auf der Seite.

  • Datenbank-Commits. Eine Datenbank, die Dauerhaftigkeit garantiert, ruft bei einem Transaktions-Commit fsync auf und wartet dann, bis das Laufwerk bestätigt, dass die Daten tatsächlich gespeichert sind. Auf einer Festplatte dauert diese Wartezeit Millisekunden. Dadurch ist eine kleine Datenbank auf wenige hundert Commits pro Sekunde begrenzt. Auf Flash dauert dieselbe Wartezeit nur einen Bruchteil einer Millisekunde. Hier ist der Unterschied am größten, unabhängig davon, ob Sie PostgreSQL, MySQL oder SQLite als Produktionsdatenbank verwenden.
  • Paketinstallationen. apt install entpackt Tausende kleiner Dateien und synchronisiert sie dabei mit dem Datenträger. Fast keiner dieser Vorgänge ist sequenziell. Daher wird die Geschwindigkeit durch die IOPS begrenzt.
  • Abruf von Container-Images. docker pull ruft komprimierte Layer über das Netzwerk ab und extrahiert sie anschließend in Tausende kleiner Dateien. Der Download ist netzwerkgebunden. Die Extraktion ist datenträgergebunden. Auf einem langsamen Volume ist die Extraktion der Teil, auf den Sie warten.
  • Start und Neustart. Beim Start werden ein Kernel und ein initramfs gelesen. Danach folgen Hunderte kleiner Unit-Dateien und gemeinsam genutzter Bibliotheken, die über das Volume verteilt sind.

Nichts davon ist ein großer sequenzieller Lesevorgang. Ein Volume, das 500 MB/s im Datenstrom liefert, aber nur 3,000 IOPS verarbeitet, fühlt sich während eines docker compose pull weiterhin langsam an. Die Wartezeit wird pro Datei gezählt, nicht pro Megabyte.

Warum „SSD cloud hosting“ auf einer Preisseite fast nichts aussagt

Der Begriff beschreibt nur das Speichermedium. Er sagt nichts über die Schnittstelle des Laufwerks aus. Er sagt auch nichts darüber aus, ob sich das Laufwerk im selben Rechner wie Ihr Server befindet. Ebenso wenig erfahren Sie, welche Obergrenze Ihr Tarif erreichen darf.

Diese Obergrenze ist am wichtigsten und wird am seltensten angegeben. Anbieter begrenzen IOPS und Durchsatz pro Volume. Ein Host versorgt viele Kunden, und ein nicht begrenzter Nachbar kann die Ressourcen der anderen aufbrauchen. Eine Begrenzung auf einige tausend IOPS bei Hardware, die mehrere hunderttausend IOPS leisten kann, ist normal und transparent. In der Tarifbeschreibung ist sie jedoch nicht sichtbar. Zwei Tarife können beide „SSD“ angeben, während der eine lokales NVMe ohne Begrenzung pro Volume nutzt und der andere ein gemeinsames Cluster-Volume mit einer Begrenzung auf 3,000 IOPS ist.

Begrenzungen gibt es in zwei Formen. Eine dauerhafte Begrenzung ist eine feste Obergrenze, die sich nicht ändert. Eine Burst-Begrenzung bietet eine niedrige Grundrate und Credits. Damit können Sie die Grundrate eine Zeit lang überschreiten. Die Credits werden wieder aufgefüllt, während das Volume inaktiv ist. Eine Burst-Begrenzung wirkt in einem fünfminütigen Test ausgezeichnet. Während eines Datenbankimports oder einer umfangreichen Wiederherstellung fällt die Leistung dann auf die Grundrate zurück. Wenn ein Anbieter eine hohe Zahl nennt, fragen Sie, wie lange Sie diese Leistung halten dürfen.

So prüfen Sie, was Ihr VPS tatsächlich bereitstellt

Innerhalb des Gasts sehen Sie nur die Informationen, die der Hypervisor bereitstellt.

lsblk -d -o NAME,ROTA,MODEL,SIZE
cat /sys/block/vda/queue/rotational

Ersetzen Sie vda durch den Gerätenamen lsblk, der für Ihre Festplatte ausgegeben wird. ROTA und die Datei rotational lesen 0, wenn der Kernel darüber informiert wurde, dass das Gerät nicht rotierend ist, und 1, wenn ihm das Gegenteil mitgeteilt wurde. Eine virtuelle Festplatte setzt dieses Kennzeichen anhand der Angaben des Hypervisors. Es beschreibt daher das virtuelle Gerät und nicht die darunterliegende physische Hardware. MODEL ist bei einer virtio-Festplatte wie vda normalerweise leer oder enthält bei einem emulierten SATA-Controller eine allgemeine Zeichenfolge wie QEMU HARDDISK. Gäste sollen das Speicher-Array des Hosts nicht sehen. Das tun sie auch nicht.

Betrachten Sie das Kennzeichen daher nur als Hinweis und messen Sie die übrigen Eigenschaften. Führen Sie mit fio einen Zufallstest mit 4k gegen eine Datei auf dem Volume durch. Verwenden Sie dabei die Warteschlangentiefe, die Ihre Anwendung tatsächlich nutzt. Lassen Sie den Test lange genug laufen, damit ein vorhandenes Burst-Guthaben aufgebraucht wird. Einen VPS korrekt benchmarken enthält die fio-Befehle und die häufigen Fehler, die zu zu günstigen Ergebnissen führen.

Drei Fragen, die Sie einem Anbieter vor dem Kauf stellen sollten

  1. Ist der Speicher lokal am Hypervisor angebunden oder über das Netzwerk angeschlossen? Die Antwort bestimmt die untere Grenze Ihrer Latenz. Sie entscheidet auch, was mit Ihren Daten passiert, wenn ein physischer Host ausfällt. Ein Anbieter, der diese Frage klar beantwortet, hat sich damit auseinandergesetzt.
  2. Wie hoch ist das IOPS-Limit für mein Volume? Verlangen Sie eine Zahl. „Unbegrenzt“ und „Enterprise-Qualität“ sind keine Zahlen. Wenn es tatsächlich keine Begrenzung gibt, fragen Sie, was verhindert, dass ein Nachbar auf demselben Host während seines Backup-Fensters das gesamte Array auslastet.
  3. Gilt dieses Limit dauerhaft oder als Burst? Wenn es einen Burst gibt, fragen Sie nach dem Basiswert und der Dauer des Bursts. Mit dem Basiswert muss Ihr nächtlicher Job auskommen. Nach ihm sollten Sie daher planen.

Verschleißt Flash, und ist das Ihr Problem?

Flash-Zellen akzeptieren nur eine begrenzte Anzahl von Schreibzyklen. Deshalb geben Anbieter eine Lebensdauer in TBW (terabytes written) oder DWPD (drive writes per day) an. Das Laufwerk verteilt Schreibvorgänge gleichmäßig auf seine Zellen. Dieser Vorgang heißt Wear-Leveling. Außerdem hält es Reserveblöcke zurück, um ausgefallene Zellen zu ersetzen. Bei einem VPS ist der Verschleiß das Problem des Anbieters. Er überwacht die SMART-Zähler seiner eigenen Laufwerke und ersetzt die Hardware, bevor die angegebene Lebensdauer erreicht ist. Ihr Problem ist älter als Flash. Ein Laufwerk ist kein Backup. Auch Redundanz unterhalb Ihres Volumes ist kein Backup, weil sie eine Löschung genauso zuverlässig kopiert wie Daten.

Der eigentliche Kompromiss betrifft den Preis pro Gigabyte. Flash kostet pro Gigabyte mehr als rotierende Festplatten. Deshalb bietet ein SSD-Tarif zum gleichen Preis normalerweise weniger Kapazität als ein Festplattentarif. Wenn Sie viel Speicherplatz für Medien oder Archive benötigen, halten Sie das schnelle Volume klein und legen Sie die großen Datenmengen an einem günstigeren Ort ab. Das ist auch die richtige Lösung für Backups außerhalb des Servers aufbewahren. Wie der Speicher in die übrigen Kosten eingeht, schlüsselt die tatsächlichen Kosten eines VPS die einzelnen Positionen auf.

FAQ

Ist ein SSD VPS dasselbe wie ein NVMe VPS?

Jeder NVMe VPS ist ein SSD VPS, weil NVMe-Laufwerke Flash-Speicher verwenden. Umgekehrt gilt das nicht. Ein als „SSD“ beworbener Tarif kann eine SATA SSD verwenden. Dabei befindet sich der Flash-Speicher hinter einer für mechanische Laufwerke entwickelten Schnittstelle, mit einer Befehlswarteschlange von 32 und einer Obergrenze von etwa 550 MB/s. Beide Varianten sind deutlich schneller als eine Festplatte. Wenn dieser Unterschied für Ihre Arbeitslast relevant ist, fragen Sie den Anbieter, welche Variante der Tarif verwendet. Verlassen Sie sich nicht auf den Tarifnamen.

Macht ein SSD VPS meine Website schneller?

Er beschleunigt Festplattenzugriffe, und nur diese. Eine Seite, die pro Anfrage mehrere Datenbankabfragen ausführt, wird schneller, weil diese Abfragen und ihre Commits kleine zufällige I/O-Vorgänge sind. Eine Seite, die aus dem Arbeitsspeicher oder aus einem Cache ausgeliefert wird, greift beim Ausliefern nicht auf die Festplatte zu. Daher ändert sich in diesem Fall nur sehr wenig. Messen Sie, welcher Teil einer Anfrage langsam ist, bevor Sie für Speicher bezahlen, um das Problem zu beheben.

Wie kann ich prüfen, ob mein VPS tatsächlich SSD-Speicher verwendet?

Aus dem Gast heraus können Sie die physische Hardware nicht verifizieren. lsblk -d -o NAME,ROTA zeigt, welche Eigenschaften das virtuelle Gerät meldet. Der Hypervisor legt diesen Wert fest. Ein 0 ist daher ein Hinweis, aber kein Beweis. Die praktische Prüfung erfolgt durch eine Messung: Führen Sie fio mehrere Minuten lang mit einer zufälligen 4k-Lesearbeitslast aus und prüfen Sie die gemeldete Latenz. Zufällige Lesevorgänge mit einer Latenz im einstelligen Millisekundenbereich deuten auf Festplatten oder ein überlastetes Netzwerkvolume hin. Latenzen im Bereich von mehreren zehn Mikrosekunden deuten auf lokalen Flash-Speicher hin.

Ist netzwerkgebundener SSD-Speicher schlechter als lokales NVMe?

Er ist pro Vorgang langsamer und fällt auf andere Weise aus. Bei jedem Lese- und Schreibvorgang kommt die Round-Trip-Zeit des Netzwerks hinzu. Dadurch ist die Latenz höher, obwohl beide Varianten Flash-Speicher verwenden. Dafür liegen Ihre Daten nicht auf einem einzelnen physischen Host. Ein Hostausfall nimmt das Volume daher nicht mit. Außerdem sind Snapshots und Live-Migration für den Anbieter einfacher. Wählen Sie lokalen Flash-Speicher für eine latenzempfindliche Datenbank. Wählen Sie Netzwerkspeicher, wenn der Erhalt des Volumes wichtiger ist als Mikrosekunden.

#vps#ssd#nvme#storage#hosting-basics