In letzter Zeit sind vereinzelt Performance-Einbrüche auf Datenbankservern aufgetreten, deren Ursache nicht direkt erkennbar war. Dabei stellte sich dann das RAID-System, genau genommen der Controller, als die Quelle des Problems heraus.
Aktuelle RAID-Controller sind meist mit Cache-Memory in der Größenordung zwischen 256 MB und 4GB bestückt. Die Schreibleistung wird durch ein verzögertes Schreiben der Daten aus dem Cache (WriteBack-Modus) erheblich verbessert. Dies kann die Write-Performance je nach RAID-Level bis zum Faktor 10 erhöhen. Auch die Read-Performance wird (indirekt) deutlich verbessert, da durch die Reduzierung der Schreibvorgänge mehr Zeit für Leseoperationen verfügbar ist.
Zur Vermeidung von Datenverlusten bei Stromausfall ist dieser Modus im Regelfall nur verfügbar, wenn eine Batterie zur Datenpufferung (BBU – Battery Backup Unit) vorhanden ist. Ein Ausfall der BBU führt zur Deaktiverung des WriteBack-Modus, der Controller arbeitet dann im WriteThrough-Modus, die Schreibleistung bricht ein. Insbesondere bei einer RAID-Konfiguration des Levels 5 oder 6 kann dieser Effekt sehr deutlich spürbar sein.
Leider ist ein Problem mit der BBU oft nicht direkt sichtbar, eine Überprüfung des RAID-Status ist daher bei Performance-Problemen auf jeden Fall zu empfehlen.
6 Antworten
@tsauter
Bezüglich der Performance gibt es Erfahrungen, der Datendurchsatz ist um ein mehrfaches höher als beim Einsatz von Festplatten. Nachfolgend der Durchsatz bei random Reads von 8 Usern gleichzeitig in einer 8 GB großen Datenbank:
RAID 0 mit 8 HDs
279 IO/s = 558 KB/s
RAID 0 mit 4 SSDs
4963 IO/s = 9926 KB/s
Gibt es schon Erfahrungen mit Conzept16 und SSD-Laufwerken im Serverbereich?
@Edwin
Für Datenbanken ist auf jeden Fall RAID-Level 10 zu empfehlen, da Varianten mit Parity (5, 50, 5EE, 6, 60 etc.) beim Schreiben in die Datenbank langsam sind.
Idealerweise wird ein RAID 10 mit 6 bis 12 HDs eingesetzt.Bei Verwendung von SSD-Laufwerken kann auch mit 2 Drives (RAID 1) oder 4 Drives (RAID 10) gearbeitet werden.
@Andrej
Ich gehe doch immer noch richtig in der Annahme, dass wir RAID 10 deutlich für Datenbankapplikationen empfehlen!?
@Edwin
Der Performance-Verlust ist bei allen RAID-Levels vorhanden, er ist bei Level 5 oder 6 jedoch deutlich höher als bei Level 10.
Bei 6 HDs und RAID 5 benötigt eine Schreiboperation 6 Plattenzugriffe (4xRead und 2xWrite), bei 6 HDs und RAID 10 sind es 2 Plattenzugriffe (2xWrite).
Für Datenbanken wird von uns jedoch RAID Level 1 bzw. 10 empfohlen. Ist hier die Problematik analog zu sehen?