Windows: Mit PrimoCache Windows und Anwendungen beschleunigen

Nach dem Test von VeloRAM und VeloFull und der Verlinkung der Condusiv-Produkte folgt nun ein Beitrag zu PrimoCache von Romex.

Wieso und weshalb ein zusätzlicher Zwischenspeicher (Cache) für SSD und/oder Festplatten-Zugriffe?

Im Computer gibt es in aller Regel keinen schnelleren Speicher als den Arbeitsspeicher (RAM). Selbst SSDs, ganz gleich ob mit SATA- oder NVMe-Schnittstelle, kommen nicht an dessen Performance heran. Da ist es naheliegend, einen Teil des Arbeitsspeichers wenn man so möchte als Puffer für Schreib- und Lesevorgänge zu benutzen. Hinzu kommt bei solchen Anwendungen wie PrimoCache das zufällige Zugriffe geordnet und in Folge schneller in Reihe gelesen bzw. geschrieben werden können.

Ein weiterer Pluspunkt ist, das sich mit dieser Software auf Bestandshardware, ohne deren Änderung, noch was an der Performance machen lässt. Teure (Neu-)Investionen sind nicht zwingend notwendig. Einzige Voraussetzung neben einem unterstützem Betriebssystem ist ausreichend freier Arbeitsspeicher. Grundsätzlich gilt: Je größer der Cache, desto höher der Performance-Gewinn.

Installation

PrimoCache steht sowohl für Windows-Clients-Betriebssysteme wie Windows 10 als auch für Windows Server zur Verfügung und kann 30 Tage bei vollem Funktionsumfang getestet werden. Die Installation geht schnell und ohne große Umschweife von statten, lediglich ein Neustart ist zwingend erforderlich.

Erst-Einrichtung

Nach dem Neustart lässt sich die Anwendung direkt über das Desktop-Symbol starten. Die Oberfläche ist klar aufgestellt und selbst ohne großes Studium des Handbuchs kommt man schnell zurecht.

Level-1 (RAM) Cache einrichten

    • Auf “Create a new Cache Task” klicken.
    • Das zu beschleunigende Laufwerk oder Partition auswählen.
    • Im darauffolgenden Dialog kann die Cache-Größe sowie weitere Parameter eingestellt werden.
    • Nach einem Klick auf “Start” beginnt PrimoCache sofort zu arbeiten.

Level-2 (SSD) Cache einrichten

Während der Level-1 Cache wenn man so möchte gradlinig von vorne eingerichtet wird, muss für die Verwendung des Level-2 (SSD) Caches zunächst dieser unter “Manage Level-2 Storage” eingerichtet werden. Wichtig: Das Laufwerk bzw. die Partition muss vorhanden und mit NTFS formatiert sein. Ein Laufwerksbuchstaben kann, muss aber nicht konfiguriert sein. Evtl. vorhandene Dateien auf dem Cache-Laufwerk werden im Laufe der Einrichtung gelöscht!

  • Auf “Create Level-2 Storage” klicken.
  • Das Laufwerk bzw. die Partition, die den Cache beheimaten soll auswählen und auf “Format” klicken.

Der Vollständigkeit halber: Der Level-2 Cache kann eine SSD, Festplatte, USB-Laufwerk oder SD-Karte sein. Aus Gründen der Performance sowie Betriebssicherheitsgründen sollte es allerdings eine interne SSD sein.

Sobald ein oder mehrere Level-2 Storages angelegt wurden, können diese beim Anlegen oder Ändern von Cache Tasks angegeben werden:

Tipp: Unter “Preset Configuration” gibt es vordefinierte Profile die man auswählen kann. Alle Einstellungen lassen sich zusätzlich manuell setzen und ex- sowie importieren.

Nebenbei bemerkt: Ein und der selbe Cache, ganz gleich ob Level-1 oder Level-2 bzw. beide, kann für mehrere Laufwerke gleichzeitg verwendet werden.

Im Betrieb

Von Vorteil ist, das man die Einstellungen im laufenden Betrieb ändern und anwenden kann. Der Cache wird zwar kurz “geflusht”, steht danach sofort wieder zur Verfügung, außer einem kurzem Performance-Einbruch passiert nichts weiter. Bestehende Laufwerke, ganz gleich ob Festplatte oder SSD können direkt beschleunigt werden, kein Neupartitionieren oder Formatieren notwendig, mit Ausnahme des “L2STORAGE”, also des SSD-basierten Zwischenspeichers, denn dessen Partition oder Laufwerk muss zwingend neu formatiert werden.

Im (unfairen) Vergleich zu beispielsweise den Storage Spaces von Microsoft besteht in dieser Hinsicht im laufenden Betrieb mehr Handlungspielraum. Apropos Storage Spaces: Diese lassen sich mit dem Einsatz von PrimoCache (weiter) beschleunigen!

Als weiteres steht eine CLI (Command Line Interface) zur skript-gesteuerten Automatisierung bzw. Überwachung zur Verfügung.

Tests

Anbei ein paar Impressionen von bisherigen (Test-)Installationen:

Hardware-Server, keine Virtualisierung, zwei Single-SSDs (kein RAID), Windows Server 2012 R2, beschleunigt werden soll nur Laufwerk C:, 4 GB Level-1 Cache, 40 GB Level-2 Cache

Vorher:

Nachher:

Hyper-V Host auf Basis von Windows Server 2016, RAID10 bestehend aus vier SSDs, 4 GB Level-1 Cache

Vorher:

Nachher:

Und so sieht’s innerhalb einer virtuellen Maschine dieses Hyper-V Hosts aus:

Vorher:

Nachher:

Leider brachen hier die zufälligen Zugriffe im Gegensatz zum Rest ein. Die Performance innerhalb einer virtuellen Maschine lässt sich durch eine Installation von PrimoCache (und ähnlicher Software) ebenfalls verbessern. Hier also das nachher Beispiel anhand der zuvor gezeigten virtuellen Maschine:

Das sieht doch schon besser aus, wenngleich nicht annähernd so gut wie direkt auf dem Host.

Und in der wahren Wirklichkeit?

Tests sind schön und gut, bleibt letztlich immer die Frage, ob die messtechnisch ermittelten Änderungen sich spürbar bemerkbar machen.

Mal mindestens ein Thunderbird der auf einem Terminalserver als RemoteApp läuft, ist nun deutlich flotter bzw. hängt nicht mehr beim Abrufen neuer Nachrichten (drei Postfächer) bzw. Updaten des Newsfeeds (25 Abos) so extrem wie vorher. Selbst die Wechsel zwischen den Ordnern, ganz gleich ob Postfach oder Newsfeed, ist spür- und sichtbar zackiger.

Laut Mitarbeiter-Aussage ist zudem ecoDMS schneller. Auf weiteres Feedback warte ich derzeit noch.

Troubleshooting

Beim Versuch einen Level-1 Cache in einer Windows Server 2016-VM anzulegen kam es immer zu folgendem Fehler:

Im Ereignisprotokoll fand sich dazu dieses:

Protokollname: System
Quelle: FancyCcV
Datum: 26.02.2020 22:06:34
Ereignis-ID: 18
Aufgabenkategorie:Keine
Ebene: Fehler
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: wts02
Beschreibung:
Failed to create or join a cache task.

Beide Meldungen wurden an den Support weitergeleitet, dieser antwortete zügig. Kurioserweise konnte ohne jedes weitere zutun am nächsten Tag der L1 Cache angelegt werden. Funktionieren wollte er dennoch nicht (siehe “Status – Level-1 Cache: Disabled”):

Eine wichtige Info kam vom Support: NUMA wird erst ab der kommenden Version 4 unterstützt:

[2019-12-31] PrimoCache 3.2.0 and 4.0.0 alpha released!

Wobei NUMA jetzt nicht speziell bei diesem System konfiguriert ist. Seltsamerweise lief einen Tag später der Cache dann urplötzlich. Dazu sei angemerkt, das dieser Server automatisch nachts um 04:00 Uhr neustartet.

Man ist an diesem Thema noch dran.

4 Kommentare

  1. Flo

    Hast du das irgendwo produktiv auf einem Hyper-V laufen?

  2. Andy

    Ja, seit dem Wochenende auf meiner Testmaschine, seit zwei Tagen bei einem Kunden. Bislang noch die Trial-Version.

  3. Hiermur

    Hallo Andy, dein Artikel bringt es gut rüber, was die Software kann. Vielen Dank dafür.

    Ich nutze die Software, seit sie noch FancyCache hieß.

    Schon länger cache ich hier fast alle Partitionen, wo ich “unterwegs” bin, mit einem Cache, jetzt seit 2 Monaten mit 40GB RAM und eigentlich schon immer 60 Sekunden Schreibverzögung. Stromausfall ist kein Problem. Ist alles privat hier. Wenn was hinüber ist, gehts halt zurück zum Backup. Das sollte man immer im Hinterkopf behalten, wenn man so eine lange Schreibverzögerung einstellt.

    Dafür gibt es für den “Poweruser”, der viel zugespielt bekommt und entpacken muss, eine wahre Freude 🙂 Virtuelle Maschinen laufen beim Neustart fast komplett aus dem RAM…

    Probleme, selbst nach jahrelanger Nutzung, gab es nie. Stabilen Arbeitsspeicher natürlich vorausgesetzt.

    hiermur

  4. Hiermur

    Ich habe vergessen, ein kleines nettes Tool zu erwähnen, die Datenträgeraktivität zu beobachten:

    https://www.hddled.com/

    Damit man sieht, auf welchen Datenträgern etwas liest und schreibt.

    Hiermur

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

© 2024 Andy's Blog

Theme von Anders NorénHoch ↑