SSD Reboot

Storage & Speicher | HT4U.net | Seite 7

Betrachtung der Performance-Einflüsse


Zu viele Köche verderben den Brei. Diese Binsenweisheit wird einem auf jeden Fall bewusst, wenn man sich Gedanken über einen angemessenen Testparcours für SSDs macht. Denn die Performance von SSDs wird durch relativ viele Faktoren beeinflusst und der Parcours muss dem letztlich Rechnung tragen. Versuchen wir einmal einen Überblick über relevante Faktoren zu schaffen:

Zugriffs-/ Schreibmuster


Wie im Abschnitt „Leer oder frei“ beschrieben, sind kleine Schreibzugriffe für eine bereits beschriebene SSD mit deutlichem Aufwand verbunden, da entweder read-modify-writes notwendig sind oder der Controller vorher oder auch während des Transfers mit der Garbage Collection für freie Blöcke sorgen muss. Im Abschnitt „Geschwindigkeit“ wurde beschrieben, warum die Performance, bei großen sequentiellen Schreibzugriffen aufgrund des parallelen Ansprechens mehrerer Speicherchips deutlich ansteigen kann.

Um die Eignung einer SSD zu bewerten, muss also zwischen den vier Hauptgrößen sequentielles Lesen und Schreiben, sowie zufälliges Lesen und Schreiben unterschieden werden. Das Lesen ist für die Controller eine eher leichte Übung, die Schreibvorgänge sind wie beschreiben aufwändiger.

Zudem steigt die Geschwindigkeit mit der Blockgröße der Daten. Synthetische Benchmarks können sehr gut diese Felder getrennt ermitteln, in der Praxis ist aber wiederum eine Mischung aus ihnen relevanter. Was nützt einem eine hohe Leserate, wenn der Controller schon bei (relativ) wenigen Random Writes aus dem Tritt kommt und die CPU der SSD derartig überfordert ist, dass auch das Lesen hakt? Als die SSDs versuchten den Consumer-Markt zu erobern, war mancher Nutzer angesichts damaliger, stockender Marvell- oder Indilinx-Controller enttäuscht. Die Hersteller kompensierten zuerst mit größeren DRAM-Caches und später mit besseren Controllern.

Lastverhalten / "Steady State"


Was in den meisten Reviews bisher nicht beachtet wurde, ist das veränderliche Verhalten unter kontinuierlicher Last. Speziell bei den kleinen Schreibzugriffen brechen die SSDs dann ein, wenn freie Blöcke schneller aufgebraucht werden als von der Garbage Collection wieder freigeschaufelt werden können. Durchschnittswerte können hier irreführend sein, wie folgendes Beispiel zeigt:


SSD A hält 60.000 IOPS (Input/Output operations Per Second = Ein-/Ausgabebefehle pro Sekunde) für 120 Sekunden und bricht danach auf 20.000 IOPS ein und SSD B hält 90.000 IOPS für 60 Sekunden und bricht danach auf 10.000 IOPS ein. Rechnen wir den Mittelwert aus, wenn man drei Minuten bzw. zehn Minuten lang misst:

3 Minuten 10 Minuten
SSD A 46.666 IOPS 28.000 IOPS
SSD B 36.666 IOPS 18.000 IOPS
Geschwindigkeitsvorteil von A 27% 55%

Die reinen Durchschnittswerte erwecken den Eindruck, dass SSD A schneller ist. Dabei ist für Nutzer, die keine Dauerlasten erzeugen, SSD B deutlich interessanter. SSD A ist zwar ein guter Dauerläufer, SSD B dagegen ein besserer Sprinter. Die Größe des Leistungsunterschiedes ist auch nicht genau ersichtlich, da der prozentuale Leistungsabstand sich abhängig von der Testdauer ändert.