SSD-als Festplatten-Cache für Linux

Super Pursuit Mode

SSDs kommen oft dort zum Einsatz, wo das I/O-Subsystem die Gesamtleistung eines Rechners drosselt. Wenn reichlich Prozessorleistung zur Verfügung steht, müssen Sie existierende Festplatten nicht unbedingt wegwerfen, sondern ermöglichen stattdessen ein schnelles Caching über am Host laufende Software. Mehrere Werkzeuge setzen diese Idee um – wir sehen uns die bekanntesten an und erklären die Arbeit mit ihnen.
Speicher muss nicht nur laufend größer werden, sondern auch schneller. In Zeiten von Virtualisierung und immer leistungsfähigeren Rechnern, die zeitnah auf ... (mehr)

SSDs bieten sich zur Beschleunigung aus zweierlei Gründen an: Sie sind vergleichsweise preiswert und bringen ein zu magnetischen Festplatten komplementäres Laufzeitverhalten mit. Die hinter einem solchen Cache-System stehenden Gedanken sind einfach – dem auf magnetischen Platten liegenden Hauptvolume steht ein per SSD realisierter Cache beiseite, in dem häufig benutzte Daten Unterschlupf finden.

Bevor wir uns mit der Konfiguration eines SSD-Cache beschäftigen, wollen wir noch einen Blick auf andere Caching-Methoden werfen, mit deren Hilfe sich die Server-Leistung teilweise schon seit Jahren beschleunigen lässt. Auch zeigen wir anhand eines Praxisbeispiels, dass RAM gegenüber derartigen Herangehensweisen immer noch die Nase vorn hat.

ReadyBoost reloaded

Das in Anbetracht von Windows 10 mittlerweile fast schon antik wirkende Vista erblickte 2007 zu einem denkbar ungünstigen Zeitpunkt das Licht der Welt: Arbeitsspeicher war vergleichsweise teuer, Flash hingegen billig. Microsoft nutzte diese Situation zur Realisation einer als ReadyBoost bezeichneten Technologie. Sie versprach durch Anstecken eines USB-Sticks eine wesentliche Steigerung der Systemperformance.

Der dahinter stehende Gedanken ist durchaus sinnvoll: Ein Flash-Speicher mag beim sequenziellen Lesen langsamer sein als eine Festplatte, kann aber mehr IOPS pro Sekunde bewerkstelligen. Der Preisverfall im Speicherbereich sorgte jedoch dafür, dass der Gedanke an ReadyBoost ins Hintertreffen geriet. Nun jedoch sorgen die Entwicklung von immer größeren magnetischen Festplatten und die vergleichsweise hohen Preise von Solid State Disks (SSD) für neues Interesse an der alten Technologie.

Die mit Vista eingeführte Technik ist auch bei den Nachfolgern Windows 7 und 8 mit von der Partie. Ein bereits 2007 von der Technikwebseite AnandTech durchgeführter Test gilt bis heute als Quasi-Standard. Er betrachtete das Verhalten eines Systems mit nur 512 MByte RAM – permanentes Swapping war der Normalzustand. In dieser zugegebenermaßen besonderen Situation konnte ReadyBoost Performance-Steigerungen von bis zu 47 Prozent erreichen. Dabei sei allerdings angemerkt, dass eine Verdoppelung des RAM zu noch radikaleren Verbesserungen führte.

Besonders effizient ist ReadyBoost immer dann, wenn die Festplatte des Geräts langsam ist. Windows 7 scheint den USB-Stick auch als Zwischenspeicher für häufig verwendete Daten zu benutzen: Berichte von einer leichten Geschwindigkeitssteigerung bei Applikationen wie Visual Studio finden sich wie Sand am Meer. Leider handelt es sich dabei um Nutzerberichte, die nicht von praktischen Benchmarks untermauert sind. Bis zum Zeitpunkt der Drucklegung gab es keine einzige diesbezügliche Untersuchung, die die Performance-Steigerung anhand wissenschaftlicher Kriterien bewies.

Ab inklusive Windows 7 dient ein Ready­Boost-Medium auch als zweiter Zwischenspeicher für SuperFetch. Dies bringt gerade Systemen mit langsamen Festwertspeichern - ein Klassiker sind ältere Laptops - durchaus spürbare Performance-Steigerungen. Falls Sie sich für ein Deployment von ReadyBoost entscheiden, so können Sie Informationen über die Nutzung des Cache im Systemmonitor ablesen. Die dabei eingesetzten Indikatoren sind unter [1] beschrieben.

RAM bringt mehr

Im Internet finden sich immer wieder Hinweise und Tutorials, die sich mit der Erstellung von Swap-Partitionen auf USB-Sticks beschäftigen. Dies ergibt im Regelfall aber keinen Sinn: RAM ist normalerweise nur wenig teurer als ein USB-Stick. Zudem ist das Swap-System von Unix auf die Nutzung von Flash-Speichern eher schlecht als recht vorbereitet. In der Praxis führt die Nutzung von USB-Swap so gut wie immer zu wesentlich niedrigerer Performance – es ist deshalb nicht verwunderlich, dass sich zu diesem Thema im Bereich der akademischen Forschung so gut wie keine Ergebnisse finden lassen.

Wir haben deshalb versucht, in einem Praxistest zu eigenen Zahlen zu kommen. Dazu haben wir eine mit 8 GByte RAM ausgestattete Workstation per Kernel-Parameter auf nur 1 GByte Arbeitsspeicher beschränkt. Im nächsten Schritt folgten zwei Versuche: Einmal lag das Swapfile auf der Festplatte, das andere Mal auf einem per USB 3.0 angebundenen, aber nicht besonders schnellen Speichermedium.

Im nächsten Schritt wiesen wir die Phoronix Test Suite zum Durchführen des klassischen Kernel-Kompilationsbenchmarks an:

sudo apt-get install mesa-utils unzip
phoronix-test-suite install pts/build-linux-kernel
phoronix-test-suite benchmark pts/build-linux-kernel

Bei der Nutzung der Festplatte erreichte der Achtkerner eine respektable Kompilationszeit von 203 Sekunden: Ob des sehr geringen RAM-Ausbaus wäre es eventuell sinnvoller gewesen, die Anzahl der Threads zu reduzieren. Für den USB-Stick müssen wir die Ergebnisse schuldig bleiben: Nach rund drei Stunden war der Benchmark immer noch nicht durchgelaufen. Aufgrund der immensen Erwärmung des USB-Sticks und der Reaktionslosigkeit von Maus und Tastatur folgte an dieser Stelle ein Abbruch des Tests durch Hart-Abschalten der Workstatio.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite