RAID 6 SSD - korrekte stripe size

ichkriegediekri

Enthusiast
Thread Starter
Mitglied seit
02.07.2009
Beiträge
44
Guten Morgen

Ich habe die tage den neuen Server ein wenig getestet und die Transferraten sind etwas unter den Erwartungen.
Wir speichern überwiegend kleine Dateien unter 1MB, also ca 50-60% zwischen 160 und 400kb, 10% auch unter 60kb und es sind meist random reads.
Aktuell sind es im realen Test beim kopieren in eine RAM-Disk ca 45-55mb/s - gehofft hatte ich auf etwas über 100mb/s im Mittel.
Der alte Server ist ein HDD RAID 10 und schafft den Testdatensatz nur in 8-10mb/s.

Somit ist das SSD RAID definitiv schneller. Da aber eine einzelne SSD genauso schnell bin ich davon ausgegangen dass ein RAID da nochmal ein wenig schneller ist
da ja Dateien über mehrere Laufwerke ge-striped werden - scheint aber aktuell nicht so zu sein.

Setup:
Broadcom 9460 8i
9x Micron ECO 5200 als RAID 6
VD Optionen: Readahead NO / Write through / Disk Cache ON /Direct IO ON

Stripe sizes die bisher getestet wurden:
64, 128, 256 und 512 - da gibt es keinen sig. Unterschied.

Macht es Sinn einen anderen Controller zu Testen, zB Adaptec, der eine Stripe Size bis zu 16kb hat - damit würden sich doch die Dateien auf mehrere SSDs verteilen und zumindest theoretisch der Durchsatz erhöhen - oder liege ich da bei SSDs falsch?
Oder ist der Flaschenhals die "nur" 8 SATA Kanäle oder einfach doch die SATA SSD - teurere SAS SSDs mit 400.00 IOPs waren preislich keine Option, und rein pauschal ist das Ziel ja erreicht da der Server 3 bis 4 mal schneller ist.

Danke für Hilfe :-)
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
N'abend

Also für alle die mal ein ähnliches Problem haben:

Selbst wenn ich die Daten von einer Ramdisk zur anderen Ramdisk kopiere (8 channel RAM mit über 100GB/s) geht es keine Sekunde schneller - folglich muss es ein Dateisystem/Windows IO Problem mit kleinen Dateien sein.

Ich werde mich bezüglich der Stripe sizes einfach an den besten Durchschnittswerten in Bezug auf meine Dateigrößen orientieren. Mal sehen ob man an der Windows Performance was optimieren kann, denn an das OS bin ich gebunden.

Edit:
Also Windows copy als Test der Geschwindigkeit ist wohl nicht zu gebrauchen, war mir teilweise bewusst aber nicht dass es so sinnlos ist - https://blogs.technet.microsoft.com/josebda/2014/08/18/using-file-copy-to-measure-storage-performance-why-its-not-a-good-idea-and-what-you-should-do-instead/
 
Zuletzt bearbeitet:
Selbst wenn ich die Daten von einer Ramdisk zur anderen Ramdisk kopiere
Die Performance der RAM Disks ist auch sehr unterschiedlich und manche sind bei 4l kaum besser als gute SSDs. Daher würde ich zuerst mal die RAM Disk benchen, statt ihr einfach eine so gute Performance wie RAM zu unterstellen.
Also Windows copy als Test der Geschwindigkeit ist wohl nicht zu gebrauchen, war mir teilweise bewusst aber nicht dass es so sinnlos ist - https://blogs.technet.microsoft.com/josebda/2014/08/18/using-file-copy-to-measure-storage-performance-why-its-not-a-good-idea-and-what-you-should-do-instead/
Korrekt, ich dachte dies wäre allgemein bekannt.
 
OK, dann schaue ich mir die RAM disk auch nochmal an.

Das Windows copy mies ist dass wusste ich. In der Vergangenheit habe ich zum kopieren unsere Daten auch Robilocooy genommen, aber dass es anscheinend 0 scaling hat war mir nicht bewusst.

Die synthetischen Benchmarks Atto und CDM zeigen aber beide dass eine Stripe size von weniger als 64kb sich positiv auf die Performance auswirkt. Erst ab einer qd von über 20 wird es dann je nach Dateigröße irrelevant - unser QD liegt aber im Schnitt um ca. 10.
 
Die Performance der RAM Disks ist auch sehr unterschiedlich und manche sind bei 4l kaum besser als gute SSDs. Daher würde ich zuerst mal die RAM Disk benchen, statt ihr einfach eine so gute Performance wie RAM zu unterstellen.
Korrekt, ich dachte dies wäre allgemein bekannt.

N'Abend

Also an der RAM Disk lag es nicht. Die wird bei 4K random QD1 mit 1,3GB/s angegeben.
 
Bügel doch erstmal, zB. mit Snappy Driver Installer, die wirklich besten/neuesten Treiber für´s Chipsatz, PCIe usw. auf den Server

RAID10 ist keine Option? 8+1 hot/spare
 
[...]
Setup:
Broadcom 9460 8i
9x Micron ECO 5200 als RAID 6
VD Optionen: Readahead NO / Write through / Disk Cache ON /Direct IO ON

[...]

Zum Testen würde ich mal vorübergehend den RAM-Cache des RAID-Controllers aktivieren (Write through -> Write Back), aktuell ist zwar der DRAM-Cache der SSDs aktiviert, der des Controllers aber deaktiviert.
Im Alltag natürlich bei wichtigen Daten nur verwenden, wenn man eine Stützkondensator-BBU-Einheit an den Controller hängt.
 
Bügel doch erstmal, zB. mit Snappy Driver Installer, die wirklich besten/neuesten Treiber für´s Chipsatz, PCIe usw. auf den Server

RAID10 ist keine Option? 8+1 hot/spare

Hi, Also ein RAID10 mit SSDs ist keine Option. Zum Einen viel zu teuer und zum Anderen technisch vollkommener Overkill.
Selbst unser Bedarf wird regulär über mehrere RAID50 oder 60 bedient, je nachdem wie viel TB und User zusammenkommen eben in 1 2 oder 20 Arrays.
Ursprünglich wollte ich ein SSD mit Tiering der alten Daten auf ein HDD RAID10 - da aber bei unserem Bedarf der Unterschied zu flash-only nicht so groß war sind es SSDs geworden (2x 2TB SAS SSDs fürs Tiering kosten soviel wie 3 bis 4 der SATA SSDs die wir jetzt haben, dann gabs noch ein paar Preisliche Unterschiede so dass flash-only 2500€ mehr kostete - das SSDs deutlich schneller sind wars ein no-brainer. Aber ein RAID 10 SSD wären plus 5000€ oder mehr gewesen....)

Treiber sind alle aktuell.

- - - Updated - - -

Zum Testen würde ich mal vorübergehend den RAM-Cache des RAID-Controllers aktivieren (Write through -> Write Back), aktuell ist zwar der DRAM-Cache der SSDs aktiviert, der des Controllers aber deaktiviert.
Im Alltag natürlich bei wichtigen Daten nur verwenden, wenn man eine Stützkondensator-BBU-Einheit an den Controller hängt.

Hi, Schreibperformance ist kein Thema. Die ist ausreichend da die Daten es nur begrenzt schnell eintrudeln.
 
Hast Du denn jetzt mal mit robocopy /mt getestet? Damit solltest Du die 100 MB/s locker erreichen.

VD Optionen: Readahead NO / Write through / Direct IO ON
Das ist für FastPath schon die richtige Einstellung.
 
Hast Du denn jetzt mal mit robocopy /mt getestet? Damit solltest Du die 100 MB/s locker erreichen.


Das ist für FastPath schon die richtige Einstellung.

Hi, nein noch nicht.
Ich habe jetzt erstmal die Benchmarks auf IOMeter umgestellt mit Worker-Threads die zu dem zu erwartenden Workload in etwa passen (da sich die Software ändert kann man das nur grob abschätzen)

Ausserdem habe ich jetzt einen Adaptec Controller, zu FastPath ist das Gegenstück SSD-IO, da Stripe Sizes unter 64kb die Performance seutlich erhöhen - der LSI/Broadcom hat als kleinste Stripe Size 64kb
 
Hi, nein noch nicht.
Ich habe jetzt erstmal die Benchmarks auf IOMeter umgestellt mit Worker-Threads die zu dem zu erwartenden Workload in etwa passen (da sich die Software ändert kann man das nur grob abschätzen).

Ausserdem habe ich jetzt einen Adaptec Controller, zu FastPath ist das Gegenstück SSD-IO, da Stripe Sizes unter 64kb die Performance seutlich erhöhen - der LSI/Broadcom hat als kleinste Stripe Size 64kb
Mit der Erkenntnis von oben, dass Du bei deiner Workload gar nicht mehr IO-Limitiert bist (RAM-Disk zu RAM-Disk > keine Veränderung), wäre das jetzt verwunderlich, wenn sich hier noch Steigerungen ergäben. Das Bottleneck liegt jetzt offenbar woanders.

Interessant wäre aus meiner Sicht, wie viele Nutzer parallel arbeiten können, bevor die Kopierleistung heruntergeht. Eine Steigerung in diesem Bereich, kann auch ein großer Mehrwert eines schnelleren Systems sein. Je nachdem, ob das bei euch eine Rolle spielt.

Pro Nutzer lässt sich die Geschwindigkeit wahrscheinlich nur durch Änderung der Software verbessern. Also Parallelisierung oder geschicktere Datenspeicherung in größeren Einheiten.
 
Mit der Erkenntnis von oben, dass Du bei deiner Workload gar nicht mehr IO-Limitiert bist (RAM-Disk zu RAM-Disk > keine Veränderung), wäre das jetzt verwunderlich, wenn sich hier noch Steigerungen ergäben. Das Bottleneck liegt jetzt offenbar woanders.

Interessant wäre aus meiner Sicht, wie viele Nutzer parallel arbeiten können, bevor die Kopierleistung heruntergeht. Eine Steigerung in diesem Bereich, kann auch ein großer Mehrwert eines schnelleren Systems sein. Je nachdem, ob das bei euch eine Rolle spielt.

Pro Nutzer lässt sich die Geschwindigkeit wahrscheinlich nur durch Änderung der Software verbessern. Also Parallelisierung oder geschicktere Datenspeicherung in größeren Einheiten.

Hi,

Also meine IO-Meter Tests sind jetzt durch. In den Dateigrößen welche bei uns den höchsten Anteil haben, bezogen auf das Volumen, liegt die 100% Random Leseperformance zwischen 180Mb/s / 1400Mb/s bei Dateigrößen von 64kb und 570Mb/s / 2700Mb/s bei 256kb (QD 1 / QD 10). Sequential bzw. 50% random und 50% sequentiell ist es noch mehr. Die QD10 ist im Regelbetrieb lauft Softwarehersteller ein realistischer Erwartungswert bei der Zahl unserer User.
Wenn davon auch nur die Hälfte ankommt, und davon sollte man bei IO-Meter als Benchmark ausgehen könne, dann ist alles für die nächsten Jahre mehr als ausreichend.

Die finale Stripe-Size wird entweder 16 oder 32kb sein, der Unterschied ist hier eher gering zugunsten von 16kb aber ab 64kb StripeSize fängt die Performance definitiv an nach unten zu gehen und würde sich erst lohnen wenn die durchschnittliche Dateigröße im Mittel zwischen 512kb und 1MB liegen würde.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh