IO-Leistung SSDs im RAID-5
Posted: 2015-12-10 11:22
Ich hoffe mal ich hab hier die passendste Kategorie für den Thread ausgewählt...
Es geht um folgendes Problem:
Wir haben in einem unserer Dell Rack-Server normale rotierende Platten gegen 3 SSDs im RAID-5 ausgetauscht (über den RAID-Controller „LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)“).
Ich musste jetzt aber feststellen, dass die resultierende IO-Leistung nicht besser ist als vorher! Ein einfacher test mit dd und sync liefert mir eine Schreibperformance von 14MB/s … (Alle Tests während der Server unbeschäftigt ist. Der Server ist produktiv nur mit Schreiben beschäftigt, Readperformance ist also erst mal irrelevant.)
Die eingesetzten SSDs sind Samsung 840 Pro 256GB, und sollten einzeln eine Schreibperformance von mindestens 200MB/s liefern!
Zum Vergleich:
Ein anderer Server mit RAID-Controller „LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)“ liefert 37MB/s mit ebenfalls 3 identischen SSDs im RAID-5 (immer noch viel zu langsam, aber zumindest deutlich schneller).
Ein 3. Server mit RAID-Controller „LSI Logic / Symbios Logic MegaRAID SAS 2208“ und 3 Intel SSDs im RAID-5 liefert 120MB/s
Da das jetzt 3 verschiedene RAID-Controller waren, war meine 1. Vermutung natürlich, dass der RAID-Controller das Problem ist.
Ich habe dieses Whitepaper von Fujitsu gefunden, in dem der RAID-Controller LSI2108 (der des Problemservers mit 14MB/s) gebenchmarked wird. Demzufolge sollte der Controller in der Lage sein, mit SSDs im RAID-5 zumindest eine Schreibperformance von 300MB/s abzuliefern, wovon wir Welten entfernt sind.
Whitepaper: http://sp.ts.fujitsu.com/dmsp/Publicati ... -ww-en.pdf
Relevante Konfiguration der Logical Drives: no readahead, write through, direct IO.
Auf allen Servern läuf Debian Squeeze.
Das Problem bestand auch mit readahead und write back. Ich habe die Information gefunden, dass no readahead und write through für SSDs besser ist, und habe die Konfig so geändert (mit megacli). Ich habe keine Performancewerte für write back, aber anektotisch mit iotop wirkte es noch langsamer.
Was zum Geier ist hier los!?
Ich hoffe im wesentlichen auf Anregungen, in welcher Richtung ich den Fehler suchen sollte, und wie ich Hypothesen effektiv testen kann.
Es geht um folgendes Problem:
Wir haben in einem unserer Dell Rack-Server normale rotierende Platten gegen 3 SSDs im RAID-5 ausgetauscht (über den RAID-Controller „LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)“).
Ich musste jetzt aber feststellen, dass die resultierende IO-Leistung nicht besser ist als vorher! Ein einfacher test mit dd und sync liefert mir eine Schreibperformance von 14MB/s … (Alle Tests während der Server unbeschäftigt ist. Der Server ist produktiv nur mit Schreiben beschäftigt, Readperformance ist also erst mal irrelevant.)
Die eingesetzten SSDs sind Samsung 840 Pro 256GB, und sollten einzeln eine Schreibperformance von mindestens 200MB/s liefern!
Zum Vergleich:
Ein anderer Server mit RAID-Controller „LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)“ liefert 37MB/s mit ebenfalls 3 identischen SSDs im RAID-5 (immer noch viel zu langsam, aber zumindest deutlich schneller).
Ein 3. Server mit RAID-Controller „LSI Logic / Symbios Logic MegaRAID SAS 2208“ und 3 Intel SSDs im RAID-5 liefert 120MB/s
Da das jetzt 3 verschiedene RAID-Controller waren, war meine 1. Vermutung natürlich, dass der RAID-Controller das Problem ist.
Ich habe dieses Whitepaper von Fujitsu gefunden, in dem der RAID-Controller LSI2108 (der des Problemservers mit 14MB/s) gebenchmarked wird. Demzufolge sollte der Controller in der Lage sein, mit SSDs im RAID-5 zumindest eine Schreibperformance von 300MB/s abzuliefern, wovon wir Welten entfernt sind.
Whitepaper: http://sp.ts.fujitsu.com/dmsp/Publicati ... -ww-en.pdf
Relevante Konfiguration der Logical Drives: no readahead, write through, direct IO.
Auf allen Servern läuf Debian Squeeze.
Das Problem bestand auch mit readahead und write back. Ich habe die Information gefunden, dass no readahead und write through für SSDs besser ist, und habe die Konfig so geändert (mit megacli). Ich habe keine Performancewerte für write back, aber anektotisch mit iotop wirkte es noch langsamer.
Was zum Geier ist hier los!?
Ich hoffe im wesentlichen auf Anregungen, in welcher Richtung ich den Fehler suchen sollte, und wie ich Hypothesen effektiv testen kann.