
Inhalt
Dieser Beitrag gibt einen Überblick über die verschiedenen Caching-Methoden, die ein HPE Proliant Gen 10 mit Smart Array Controller anbietet. Es gibt hier viele begriffliche Verwirrungen und Unklarheiten in der Konfiguration. Die Cache-Konfiguration hat große Auswirkungen auf das Performanceverhalten des Plattensystems. Um dies zu zeigen wurde einige Messungen mit Hilfe von CrystalDiskMark durchgeführt. Es geht hier aber NICHT darum, irgendwelche beeindruckenden Messwerte zu demonstrieren, sondern ausschließlich darum , die Auswirkungen der Cache-Konfiguration zu demonstrieren.
Test-Equipement
Hardware und Betriebssystem
- HP-Proliant DL380 Gen 10 (Treiberstand SPP 20-09.0)
- Single CPU XEON Silver 4216, 2,1 GHz, 32 GB Ram
- OS: Windows Server 2019
- Smart-Array P816i -a ST Gen10, 4 GB Cache, SmartCache Lizenz integriert
Plattensystem
Laufwerk | Raid | OS-Formatierung |
C: (Boot) | Array A: – 3x 480 GB SATA-SSD (P18422-B21) Log-Laufwerk 1: – RAID 1 ADM – Strip-Size: 256KiB | NTFS – Blocksize 4K |
D: (Daten1) | Array B: – 3x 800 GB SAS-SSD (P19913-B21) Log. Laufwerk 2: – RAID 1 ADM – Strip-Size: 256KiB | NTFS – Blocksize 4K |
E: (Daten2) | Array C: – 4x 2,4TB HDD (881457-B21) Log. Laufwerk 3: – RAID 5 – Strip-Size: 256KiB | NTFS – Blocksize 4K |
Messwerkzeug
- Alle Messungen wurden durchgeführt mit ChrystalDiskmark Version 8.0.1 (Diskmark64.exe)
- Das Tool wurde unverändert im Default-Modus betrieben (Alle Tests)
Einführung – Vier verschiedene Caching Methoden / Konfigurationsoptionen
Der Controller bietet vier verschiedenen Methoden an. Diese Methoden werden in der Regel auf Ebene des logischen Laufwerks konfiguriert.
- HP SmartCache
- SSD Smart Path
- Drive Write Cache
- Controller-Cache (das sind die im Controller integrierten 4 GB RAM)
HP SmartCache
HP SmartCache ermöglicht die Beschleunigung des Zugriffs auf magnetische Festplatten-Arrays durch Caching über ein SSD-Array. D.h. Die Daten werden zunächst auf ein schnelles SSD-Array geschrieben und dann später im Hintergrund auf ein langsameres Laufwerk geschrieben. Dieses Verfahren ist NICHT Gegenstand dieses Beitrags.

Info Lizenz notwendig
Falls Sie dieses Feature verwenden möchten, benötigen Sie dafür eine SmartCache Lizenz. Diese ist beim p816i Controller bereits integriert. Bei den kleineren Controllern muss man die Lizenz aber separat erwerben.

SSD Smart Path
Ein Verständnis dieses HP-Features ist für die Praxis wichtig. Viele Autoren im Internet raten zur Abschaltung dieses Features. Zunächst macht es aber Sinn, die Funktion zu verstehen.
Funktionsweise von SSD Smart Path
Früher gab es häufig die Diskussion „Hardware-RAID“ versus „Software-RAID“. Diese Bezeichnungen waren schon immer unsinnig. Es geht dabei um die Frage, welcher Prozessor die Rechenarbeit (Parity-Bildung etc.) eines RAID-Systems leistet und in welchem Speicher ggf. Daten gepuffert werden.
Profis nutzen „natürlich“ schon immer Hardware RAID-Controller, weil dann die Rechenarbeit auf den Prozessor der RAID-Karte ausgelagert wird, und damit nicht die Haupt-CPU des Servers belastet. Dasselbe gilt für Cache-Speicher. Die RAID-Karte hat ihren eigenen Speicher und benötigt den Arbeitsspeicher des Systems nicht. Man geht daher davon aus, dass diese Konstruktion in jedem Falle „professioneller“, betriebssicherer und vor allem schneller ist. Vergessen wir bei diesem Vergleich aber nicht die Software. Beim Hardware-RAID-Controller steckt diese im ROM-BIOS des Controllers. Beim Software-RAID wird dies vom Betriebssystem bzw. einem passenden Treiber erledigt.
➔ Aber nun zurück zu HP Smart Path.
SSDs require special tactics to capture the full advantage of their low-latency capabilities. HPE SSD
Zitat aus HP Smart Array Users Guide S. 35
Smart Path enables the high performance of SSD-based logical volumes by allowing certain types of I/O
requests to take a more direct path to the physical disks, bypassing most of the firmware layers of the
RAID controller. SSD Smart Path is enabled by default when you create an array.
Was heißt das nun konkret?
- Smart Path ist für jedes SSD-Array standardmäßig eingeschaltet.
- Smart Path nutzt einen „direkteren Weg“ zu den SSDs, es nutzt nicht die Firmware des RAID-Controllers und auch NICHT den Cache Speicher des Controllers! (Wie war das nochmal mit Hardware- und Software-RAID? :-))
Im Klartext:
Der Storage-Treiber wurde so geändert, dass wesentliche Teile (insbesondere der Controller Cache) NICHT mehr verwendet wird.
Der folgende Beitrag und das Video beschreiben die Funktionen im Detail:
HP SSD Smart Path not always a smart choice

Hier sieht man also genau, dass der RAID-Cache und auch die RAID-Engine umgangen wird. Die Arbeit muss also vom Treiber (sprich vom Betriebssystem) erledigt werden.
➔ Smart Path wird per Default bei SSD-Arrays aktiviert.
➔ Somit ist das Caching des Raid-Controller per Default deaktiviert!
Nun stellt sich die Frage, ob ein Raid-Laufwerk mit oder ohne Smart Path die höhere Performance aufweist. Auf diese Frage gibt es vermutlich keine eindeutige Antwort. Im oben verlinkten Beitrag wird es so dargestellt, dass Smart Path vermutlich bei RAID-Systemen mit vielen (schnellen) SSDs evtl. Vorteile bringt. Bei kleineren RAID-Systemen kann aber ein Abschalten von Smart Path die Performance verbessern.
Abschalten von Smart Path
Die Aktivierung oder Deaktivierung erfolgt im Storage Administrator auf Ebene des Arrays.

➔ Array markieren ➔ Smart Path deaktivieren
➔ Sobald Smart Path deaktiviert wurde, stehen die logischen Laufwerke dieses Array im Cache Manager zur Verfügung.
Drive Write Cache (Laufwerkscache)
Unabhängig vom Cache-Controller hat jedes Laufwerk einen eigenen, direkt im Laufwerk verbauten Cache-Speicher. Dieser wird in der Regel nur als Lesecache betrieben. Es ist aber auch möglich, diesen zum Puffern von Schreibzugriffen zu verwenden. Das Problem bei dieser Technik ist der Stromausfall. Bei Stromausfall gehen die Daten im Cache einfach verloren. Dies kann dann zu schwerwiegenden Problemen und inkonsistenten Daten führen!
- Gegen Ausfall des Laufwerkscache-Inhalt kann die Pufferbatterie des Controllers NICHT schützen.
- Es hilft also nur eine UPS, d.h. der Strom darf nicht ausfallen!

Die Steuerung des Laufwerkscache wird auf Controllerebene verwaltet.
- Controller markieren
- Schreibcache-Richtlinien des Laufwerk verwalten
- Die Default-Option „für konfigurierte Laufwerke deaktivieren“ sollte beibehalten werden.

Info
In der Serverpraxis wird der Laufwerkspuffer aus Sicherheitsgründen nicht für Write-Caching verwendet. Das Thema wird daher in diesem Beitrag auch nicht weiter verfolgt.
Controller Caching
Der im Controller integrierte Cachespeicher wird über den Cache-Manager gesteuert.

➔ Cache Manager ➔ Einstellungen ändern

Info
Hier werden nur die logischen Laufwerke angeboten, bei deren Array Smart Path deaktiviert wurde!
Hier kann nun selektiv das Caching für jedes logische Laufwerk aktiviert / deaktiviert werden.
Außerdem kann bestimmt werden, wieviel Speicher für den Schreib- / Lesecache verwendet wird (Cache-Ratio).
Meist sind Lesezugriffe ohnehin sehr schnell, weil diese immer über den Lauwerkscache laufen. Die HP-Default-Cache-Einstellung ist daher 90/10 – das heißt 90% des Speichers wird zur Pufferung von Schreibzugriffen verwendet.
- Microsoft empfiehlt für Exchange-Datenbanken sogar 100% Schreibpuffer.
- Die optimalen Werte sind immer von der konkreten Situation abhängig.
Schwellenwert für Schreib-Cache
Wenn die zu schreibende Datenmenge größer ist als der eingestellte Wert, dann werden die Daten direkt auf die Platten geschrieben. Laut Dokumentation greift dies allerdings nur für „Non Parity RAID-Volumes“. Für Raid 5 / 6 werden die Daten also immer durch den Cache gepuffert. So hat die Raid-Engine mehr Zeit, um die Paritys zu berechnen.
Messungen
„Wer misst, misst Mist“. Das gilt besonders für Performance-Messungen an Plattensystemen. Messergebnisse sind oft mehr von den Messbedingungen als vom Prüfling abhängig. Verlässliche, nachprüfbare Messungen sind eine schwierige Aufgabe. In diesem Beitrag geht es nicht darum, mit irgendwelchen genialen Messwerten zu glänzen. Es geht nur darum, vergleichende Messungen mit und ohne Cache durchzuführen, um ZUMINDEST FÜR DAS VORLIEGENDE SYSTEM (und Messbedingungen) eine Aussage über die Wirkung des Cache zu machen.
Es geht also primär darum, das System so zu konfigurieren, dass die finanzielle Investition einen maximalen Nutzen hat und nicht durch Fehlkonfiguration unter den möglichen Werten bleibt. Wie bereits erwähnt wurden alle Messungen einfach mit Standardwerten CrystalDiskMark durchgeführt. In der Praxis macht es ggf. Sinn, die Messreihen auf das zu erwartende Verhalten der Zielapplikation abzustimmen.
Da die gemessenen Testdaten bei Aktivierung des Cache extrem dicht beieinander liegen, wurde vermutet, dass der Cache gar nicht geleert wird. Wir haben daher Experimente mit Reboot der Maschine und auch mit bewusstem Kopieren großer Datenmengen (unabhängig vom Messwerkzeug) gemacht.
➔ Die Messwerte blieben immer reproduzierbar.
Abkürzungen von CrystalDiskMark
- SEQ1M-Q8T1 ➔ seqentieller Zugriff (1M-Block) mit einem Thread und 8 Queues
- SEQ1M-Q1T1 ➔ seqentieller Zugriff (1M-Block) mit einem Thread und einer Queue
- RND4K-Q32T1 ➔ zufälliger Zugriff (4K-Blöcke) mit einem Thread und 32 Queues
- RND4K-Q1T1 ➔ zufälliger Zugriff (4K-Blöcke) mit einem Thread und einer Queue
Leerlaufmessung ohne Controller Caching
Zunächst wurde die drei Laufwerke ganz ohne Caching gemessen. Dies gibt einen Eindruck über die Leistungsfähigkeit der Laufwerke beim gewählten RAID-Level. Aus Sicht des RAID-Controller stellt dies eine Fehlkonfiguration dar, die er mit einer Warnung quittiert.

C: SATA-SSD – RAID 1 ADM | D: SAS-SSD – RAID 1 ADM | E: SAS-HDD- RAID 5 (4 x HDD) |
![]() | ![]() | ![]() |
Kommentar
- Sequentielle Lesezugriffe sind deutlich schneller als Schreibzugriffe (Faktor 3).
- Bei den SSD-Arrays erkennt man die Grenzen der SATA-Schnittstelle (C:).
➔ Das SAS-Array hat deutliche Vorteile (D:). - Das Raid 5 mit magnetischen Platten zeigt deutlich geringere Wert in allen Bereichen, vor allem aber beim Random-Access!
Diese Messungen ohne Controller zeigen deutlich die quantitativen Unterschiede der verschiedenen Plattensysteme. Auch wenn das Controller Caching die Werte (scheinbar) egalisiert, sind diese „wirklichen“ Werte für den Dauerbetrieb bei hochbelasteten Systemen wichtig!
Messung mit verschiedenen Cache-Ratios
Messungen mit Schreibcache (90% Write) bei allen Arrays
➔ 90% Write Cache ist die Default-Einstellung von HP. Daher wurde auch diese Einstellung vermessen.
C: SATA-SSD – RAID 1 ADM | D: SAS-SSD – RAID 1 ADM | E: SAS-HDD- RAID 5 (4 x HDD) |
![]() | ![]() | ![]() |
Kommentar
- Alle Plattensysteme profitieren deutlich von dem Cache.
- Alle Plattensysteme verhalten sich nun sehr ähnlich.
➔ Dies ist zu erwarten, da jetzt alle Zugriffe nur noch in den (selben) RAM-Speicher des Controllers erfolgen. - Auch zwischen Lesen / Schreiben ist kaum mehr ein Unterschied zu sehen.
- Das RAID 5 mit magnetischen Platten profitiert sehr deutlich von dem Cache. Es sind kaum noch Unterschiede zum SSD-Array sichtbar (die aber natürlich trotzdem da sind!).
Messungen mit Schreibcache (100% Write) bei allen Arrays
Microsoft empfiehlt, zum Beispiel bei Exchange Server mit 100% Write-Cache zu arbeiten. Daher wurde auch diese Konfiguration vermessen.
C: SATA-SSD – RAID 1 ADM | D: SAS-SSD – RAID 1 ADM | E: SAS-HDD- RAID 5 (4 x HDD) |
![]() | ![]() | ![]() |
Kommentar
- Die geringe Änderung der Konfiguration führt NICHT zu einer Änderung der Messwerte (gegenüber der HP – Default 90/10 Einstellung).
- Offensichtlich ist aber auch der Lese-Cache nicht wirklich abgeschaltet.
➔ Auch die Lesewerte bleiben unverändert gut.
FAZIT: Die HP-Defaultwerte 90/10 können einfach beibehalten werden.
Messungen mit ausgewogenem Cache
(50% Read / 50% Write) bei allen Arrays
C: SATA-SSD – RAID 1 ADM | D: SAS-SSD – RAID 1 ADM | E: SAS-HDD- RAID 5 (4 x HDD) |
![]() | ![]() | ![]() |
Auch diese Einstellung bringt keine Änderung der Messwerte. Der Controller-Cache ist in jedem gemessenen Falle groß genug, um alle Daten puffern zu können.

Summary Cache-Ration
➔ Relevante Aussagen über die Cache-Ratio lassen sich also aus diesen Messungen NICHT ableiten.
➔ Es ergibt Sinn die HP-Defaults für die Cache Ration 90/10 zu übernehmen.
➔ Das Controller Caching führt zu insgesamt sehr guten und sehr ausgewogenen Messwerten!
Messungen mit aktiviertem SSD Smart Path und 90/10 Controller Cache (für HDD-Array)
HP betreibt die Smart-Array-Controller standardmäßig mit folgenden Einstellungen:
- alle SSD-Arrays mit aktiviertem Smart Path, also mit abgeschaltetem Controller Cache
- alle HDD-Arrays standardmäßig mit 90 Schreib und 10% Lesecache
C: SATA-SSD – RAID 1 ADM | D: SAS-SSD – RAID 1 ADM | E: SAS-HDD- RAID 5 (4 x HDD) |
![]() | ![]() | ![]() |
Kommentar
Vergleichen Sie diese Messungen mit Messungen ohne Smart Path und ohne Controller Cache!
- Smart Path wirkt sich nur negativ aus!
- C: und D: sind mit SSD Smart Path viel langsamer als mit Controller Cache.

FAZIT (für die hier gemessene Situation!)
➔ Abschalten des Controller-Caching ist nicht sinnvoll! Auch die SSDs profitieren deutlich vom Controller-Cache.
➔ SSD Smart Path sollte deaktiviert, Controller Caching sollte für alle Laufwerke mit 90/10 aktiviert werden.
Testdurchlauf mit wesentlich höheren Datenmengen
Die bisherigen Testdurchläufe (mit Controller-Cache) zeigen fast unabhängig von der Cache-Ration und unabhängig von Hardware und RAID-Level fast identische Messergebnisse. Nun soll abschließend noch die zu schreibende Datenmenge so stark erhöht werden, dass sicher nicht mehr alle Daten vom Cachespeicher aufgenommen werden können.
- alle Arrays mit aktiviertem Controller Caching – 90% Write / 10% Read
C: SATA-SSD – RAID 1 ADM | D: SAS-SSD – RAID 1 ADM | E: SAS-HDD- RAID 5 (4 x HDD) |
![]() | ![]() | ![]() |
Kommentar
Man sieht nun deutlich, dass bei dauerhaft großen Datenmengen am Ende des Tages doch die Leistung der Speicherlaufwerke wichtig ist.
➔ Die „Traumzahlen“ sind nun weg!
➔ Trotzdem beschleunigt der Controller-Cache alle Laufwerke deutlich (gegenüber Betrieb ohne Cache).
➔ Die höchste Gesamtleistung hat das SAS-SSD-Array, aber auch die beiden anderen Laufwerke weisen sehr gute Werte auf.
Fazit: Empfehlungen für die Praxis
Zumindest bei kleineren RAID-Systemen mit wenigen SSDs sieht es so aus, dass sich die HP Smart Path Technik negativ auswirkt und zugunsten des klassischen Controller Cache deaktiviert werden soll.
➔ Diese Aussage gilt aber nur für dieses konkrete System und die hier gemessene Lastsituation.
Kein Messwerkzeug kann die tatsächliche Praxis, den konkreten Betrieb eines bestimmten Servers mit einer definierten Anwendung und mit dem tatsächlichen Lastverhalten der Benutzer nachbilden, weil diese Parameter nicht bekannt und natürlich auch nicht konstant sind! Insofern haben alle Labormessungen immer nur begrenzten Aussagewert. Allerdings können Labormessungen sehr wohl Tendenzen aufzeigen und Fehlkonfigurationen vermeiden helfen.
In der Praxis ist nicht die „faktische Leistung“ eines Speichersystems wichtig, sondern vielmehr die Frage, ob das Speichersystem auch in Spitzenzeiten die tatsächlichen Anfragen der Benutzer mit akzeptabler Latenz beantworten kann. Dies kann der Windows-Server-Administrator am besten an der Disk-Queue-Length des Laufwerks sehen.
➔ Die Disk-Queue-Length kann man direkt im Taskmanager live beobachten.


Disk-Queue-Lenght
- Wenn die Disk-Queue-Length DAUERHAFT hohe Werte (>5) hat, dann sollte der Administrator sein Speichersystem genauer anschauen.
- Wenn die Disk-Queue-Length nur zwischen 0 und 2 pendelt, ist das Speichersystem den tatsächlichen Anforderungen sehr gut gewachsen!