Hallo Forum,
bei mir läuft seit kurzem eine 3615xs als Upgrade zur 1813+
Hauptanwendungen: Fotobearbeitung/archivierung (Lightroom, mehrere TB von mehreren Usern), aber auch Fileserver, Webserver/Near-Realtime (Wetterstation), Streaming, ... Vom Upgrade auf diese Station erhoffe ich mir eine deutlich verbesserte Performance bei der Bildbearbeitung und Archivierung im Netz. Der bisherige Workflow lief kompliziert über lokale SSDs, da die Performance im Netz teilweise zu schlecht war und weitere Probleme verursachte.
Ich habe nun zwecks Optimierung meines zukünftigen Setups ein paar erste, unrepräsentative Tests gefahren, deren Ergebnisse ich gerne mit Euch teilen und zur konstruktiven Diskussion stellen möchte. Es wurden jeweils mindestens zwei Testläufe durchgeführt, und um Cachingeffekte soweit mgl. auszuschliessen (soweit unerwünscht) erfolgten diese nicht direkt hintereinander. Da für mich hauptsächlich die Performance auf klassischen Win-Shares relevant ist habe ich auch genau das so getestet. Zeiten sind grob gerundet und nicht mit der digitalen Stoppuhr genommen. Aufgrund der oft beobachteten Varianzen erschien mir dies auch nicht geboten. Testläufe wurden natürlich erst nach Abschluss der Optimierung/Org eines Volume gestartet.
Testumgebung: DS 3615xs mit DSM5.2 beta, 12 GB RAM und Syno 10GBit/s Karte über SFP+ an Netgear S3300, Client: Samsung SSD 840 Evo 1TB, Intel X2 540 10GBit/s, Core i7 mit 32 GB RAM, ...
Die Server-Raid-Konfiguration war jeweils "minimal", d.h. R0/1 = 2 Disks, R5 = 3 Disks, usw. HDDs: WD RED 4TB. SSDs: Samsung 240 GB 840 Pro.
Testdaten: Für sequentielle IO 38,6 GB in zwei großen, komprimierten Dateien, für random IO ein 5,4 GB großer Ordner mit gut 1800 Dateien, ebenfalls bereits komprimiert.
Folgende Testergebnisse erzielte ich:
Erste, unerwartete Erkenntnis: Das 10 GBit/s Netz war sofort und problemlos am Start.
Sequential Write:
R0 HDD: 140s - nach anfänglich kurz 500 MB/s erfolgte über ca. 30s ein schleichender Einbruch auf ca. 300 MB/s, CPU Last um die 5%
R0 SSD: Abbruch nach 140s bei ca. der Hälfte der Daten - nach anfänglich gut 500 MB/s ging die Rate konstant zurück bis auf weit unter 100 MB/s und es schien so, als ob das so weitergehen würde ...!
R1 HDD: 260s - pendelt sich bei ca. 150 MB/s ein bei minimaler CPU um die 3%
R1 SSD: Abbruch wie oben - liegt das an den SSDs (reorg-Effekte)?
R10 HDD: 145s - recht konstant so um die 280 MB/s, anfangs minimal schneller, CPU so um die 6%
R5 HDD: 180s - nach anfänglich über 300 MB/s erfolgte schleichend über ca. 60s ein leichter Einbruch, CPU-Last durchschnittlich ca. 10%
R6 HDD: 185s - legt auch wieder los wie die Feuerwehr und pendelt sich dann bei ca. 225 MB/s ein - CPU bei um die 12%
Zwischenfazit: Die schnellen Starts sind vermutlich durch Daten im RAM bzw. lokalen Caches verursacht, die ich so nicht vermeiden kann. Das ist aber auch nicht schlimm für diesen Test, da dies ja praxisnah ist und die erzielte Dauertransferrate gegen Ende hin ebenfalls ersichtlich wird. Unerklärbar sind allerdings die SSD-"Ausfälle".
Sequential Read:
R0 HDD: 180s - erst bei 300 MB/s, im Verlauf dann langsam auf ca. 250 MB/s zurückgehend - CPU ca. 3%
R0 SSD: nicht durchgeführt, s.o. - ein Test mit einer 6 GB großen Datei ergab eine Leseperformance zwischen 500-600 MB/s (> 12s)!
R1 HDD: 240s - konstant um die 130 MB/s, sehr merkwürdig ist das, erwartet hätte ich ähnliche Performance wie R0 ... CPU minimal
R1 SSD: nicht durchgeführt, s.o. - ein Test mit einer 6 GB großen Datei ergab eine Leseperformance zwischen 500-600 MB/s (> 13s)!
R10 HDD: 210s - konstant bei ca. 255 MB/s mit leichten Schwankungen, CPU ca. 4%
R5 HDD: 200s - konstant bei ca. 275 MB/s mit leichter Tendenz nach unten gegen Ende - CPU ca. 3%
R6 HDD: 300s - wird immer langsamer von an die 500 MB/s auf ca. 140 MB/s ab Hälfte bis zum Ende - CPU ca. 4%
Zwischenfazit: Wenn die SSDs nur beim Write funktioniert hätten, würden sie vermutlich hier ihren Nutzen richtig ausspielen. Das in zwei Versuchen so gesehene R6 Verhalten erschliesst sich mir nicht ...
Random Write :
R0 HDD: 35s - Schwankung zwischen 100-150 MB/s
R0 SSD: 20s - meist so um die 300 MB/s mit geringen Schwankungen, vermutlich an der Grenze des möglichen, was der lokale PC liefern kann?
R1 HDD: 60s - Schwankungen und kontinuierliche Abnahme wie oben bei den SSDs, vermutlich durch Cachingeffekte, jedoch längst nicht in dem Ausmaß wie bei SSD
R1 SSD: 35s - hier gab es sehr merkwürdige Effekte, die Datenübertragung war teilweise sehr schnell, teilweise stockte sie für mehrere Sekunden, erst der dritte Versuch war "normal schnell", die ersten brauchten mehrere Minuten und wurden nicht gewertet (woran lag das?! k.A., es lief nix parallel)
R10 HDD: 45s - erst gehts langsam los, dann flott mit Schwankung so um die 100 MB/s bei 3% CPU
R5 HDD: 75s - komisch, am Anfang gings sehr langsam los mit 25MB/s, gegen Ende Steigerung auf bis ca. 75 MB/s
R6 HDD: 110s - auch hier gehts erst sehr langsam los mit unter 20 MB/s, dann plötzlich bis über 40 MB/s, alles bei nur 3% CPU
R6 HDD + SSD Cache: 45s - Cachenutzung so gut wie mgl forciert durch mehrere Versuche, CPU ging bis ca. 15% nach oben bei sichtbar hoher Cachenutzung
Zwischenfazit: Dass R5 etwas langsamer ist als R1 ist überraschend und kann ich mir so direkt nicht erklären: Beim R5 muß zwar Parity berechnet werden, die CPU war jedoch kaum ausgelastet. Bei R1 bleibt die einzelne Platte der begrenzende Faktor, müßte daher also eigentlich langsamer sein als R5 (wie auch oben im sequenziellen Test sichtbar). Mit der in der zweiten Hälfte beobachteten R5 Performance wäre R5 jedenfalls schneller als R1 gewesen. Ähnliches gilt für R6 mit noch mehr "Verzögerung".
Random Read:
R0 HDD: 42s - deutliche Varianz um ca. gut 200 MB/s, CPU minimal
R0 SSD: 28s - breite Varianz so um die 250 MB/s, CPU minimal
R1 HDD: 40s - leichte Varianz um die 300 MB/s ...
R1 SSD: 22s - leichte Varianz so um gut 300 MB/s, CPU minimal
R10 HDD: 25s - leichte Varianz um die 250 MB/s aber ob diese Anzeige dann so stimmt im Vergleich mit den anderen? CPU minimal ...
R5 HDD: 27s - mit leichter Varianz so um die 300 MB/s Tendenz leicht fallend gegen Ende, CPU minimal
R6 HDD: 46s - um die 130-140 MB/s recht konstant lt. Anzeige (aber kann das sein?!), CPU minimal
R6 HDD + SSD Cache: 20s - aber erst im zweiten Versuch, der erste war deutlich langsamer (wohl Forcierung der Cachenutzung) ... - CPU bis an die 15%
Zwischenfazit: Der SSD Cache kann im 10GBit/s Umfeld mit deutlicher Performancesteigerung punkten.
Beobachtung nebenbei: Die Temperaturen der HDDs liegen niedriger als in der 1813+. Dort erzielte ich typischerweise Temperaturen um die 30°, in der neuen Box liegen diese nochmals ca. 2-3°C niedriger.
Vorsichtige Interpretation der Ergebnisse:
- Für sequentielle IOs ist HDD die sichere Wahl. Die SSD macht hier echte Probleme und zeigt ein sehr merkwürdiges Verhalten. Da nur zwei SSDs vorlagen konnten keine Tests mit Raid 5, 6 oder 10 durchgeführt werden um zu sehen, ob dies dort auch auftritt. Wer also SSDs im RAID betreiben möchte sollte vorher diesen Punkt testen.
- Bei random IO zeigt die Kombination mit einem SSD Cache eine teils deutliche Performanceverbesserung. Die war teilweise so gut, daß mir die Kombination besser erscheint als Workloads auf Volumes zu verteilen (wer kann das schon so realisieren, daß random IO immer auf SSD trifft, und umgekehrt?)
- Die Performance ist zwar spürbar besser als bei 1 GBit/s, aber müßte eigentlich noch besser sein. Ob dies auch mit am Client liegt liesse sich nur durch einen Stresstest von mehreren Rechnern aus überprüfen, was ich in meiner Konfiguration leider nicht so leicht in der Form leisten kann.
Meine erste Wahl fiel daher auf Raid 5 + SSD (Write) Cache, da dies für mich das Optimum an Leistung + Datensicherheit + Platzausnutzung + Problemfreiheit darstellt. Das Risiko eines zweiten Plattencrashs bei Rebuild ist vertretbar, da Backups natürlich vorhanden sind.
Insgesamt fühlt sich die neue Umgebung deutlich und spürbar schneller an. In manchen Situationen (außerhalb des Tests) waren Dateien rasend schnell kopiert, und Laufwerkgrößen zB (rechte Maustaste > Properties) waren um ein Vielfaches schneller als auf der alten Box.
Mir stellen sich nun folgende Fragen:
- Woran liegt das "Versagen" der SSDs im Raid bei größeren Datenmengen? Kann das überhaupt jemand so nachvollziehen, oder scheint das eher ein spezielles Problem in meiner Konfiguration zu sein?
- Kann man Energie sparen, indem man permanent genutzte Daten (Web Server Traffic ...) auf ein Volume legt und weniger genutzte auf ein anderes? Dazu müßte die DS die Platten einzeln hibernaten lassen. Hibernated auch der SSD Cache separat (mit der Option sequential IO direkt auf die HDDs gehen zu lassen wäre das auf jeden Fall interessant)?
- Wie verhält sich das System bei direktem Zugriff auf die Laufwerke, zB über Lightroom? Damit sollten die 10 GBit/s besser ausgenutzt werden können, sofern die Box schnell genug ist, weil die lokale Konfiguration (Lesen von den lokalen Platten, usw.) dann keinen Einfluß mehr haben sollte. Ich werde das sobald ich das Setup dafür am Laufen (und die Zeit dafür) habe mal testen und ggf. hier nochmal berichten.
- Was kann iSCSI hier ggf. bringen? ZB eine eigene LUN für Lightroom? Würde die Nutzung durch mehrere Clients dann aber nicht ein Cluster-FS erfordern und wäre das überhaupt praktikabel (hat das schon mal jemand probiert oder am Laufen)? Und wie würde man dann sinnvollerweise (Smart) Previews ablegen, auch auf die LUN?
Ich hoffe Euch damit ein paar sinnvolle Informationen gegeben zu haben. Bitte beachtet, daß dies ein von mir in nicht-Laborbedingungen durchgeführter Test war und die Ergebnisse nur mit Vorsicht (wenn überhaupt) übertragen werden sollten. Wenn jemand ähnliche Tests gemacht hat oder machen möchte würde ich mich über eine Antwort hier freuen.
bei mir läuft seit kurzem eine 3615xs als Upgrade zur 1813+
Hauptanwendungen: Fotobearbeitung/archivierung (Lightroom, mehrere TB von mehreren Usern), aber auch Fileserver, Webserver/Near-Realtime (Wetterstation), Streaming, ... Vom Upgrade auf diese Station erhoffe ich mir eine deutlich verbesserte Performance bei der Bildbearbeitung und Archivierung im Netz. Der bisherige Workflow lief kompliziert über lokale SSDs, da die Performance im Netz teilweise zu schlecht war und weitere Probleme verursachte.
Ich habe nun zwecks Optimierung meines zukünftigen Setups ein paar erste, unrepräsentative Tests gefahren, deren Ergebnisse ich gerne mit Euch teilen und zur konstruktiven Diskussion stellen möchte. Es wurden jeweils mindestens zwei Testläufe durchgeführt, und um Cachingeffekte soweit mgl. auszuschliessen (soweit unerwünscht) erfolgten diese nicht direkt hintereinander. Da für mich hauptsächlich die Performance auf klassischen Win-Shares relevant ist habe ich auch genau das so getestet. Zeiten sind grob gerundet und nicht mit der digitalen Stoppuhr genommen. Aufgrund der oft beobachteten Varianzen erschien mir dies auch nicht geboten. Testläufe wurden natürlich erst nach Abschluss der Optimierung/Org eines Volume gestartet.
Testumgebung: DS 3615xs mit DSM5.2 beta, 12 GB RAM und Syno 10GBit/s Karte über SFP+ an Netgear S3300, Client: Samsung SSD 840 Evo 1TB, Intel X2 540 10GBit/s, Core i7 mit 32 GB RAM, ...
Die Server-Raid-Konfiguration war jeweils "minimal", d.h. R0/1 = 2 Disks, R5 = 3 Disks, usw. HDDs: WD RED 4TB. SSDs: Samsung 240 GB 840 Pro.
Testdaten: Für sequentielle IO 38,6 GB in zwei großen, komprimierten Dateien, für random IO ein 5,4 GB großer Ordner mit gut 1800 Dateien, ebenfalls bereits komprimiert.
Folgende Testergebnisse erzielte ich:
Erste, unerwartete Erkenntnis: Das 10 GBit/s Netz war sofort und problemlos am Start.
Sequential Write:
R0 HDD: 140s - nach anfänglich kurz 500 MB/s erfolgte über ca. 30s ein schleichender Einbruch auf ca. 300 MB/s, CPU Last um die 5%
R0 SSD: Abbruch nach 140s bei ca. der Hälfte der Daten - nach anfänglich gut 500 MB/s ging die Rate konstant zurück bis auf weit unter 100 MB/s und es schien so, als ob das so weitergehen würde ...!
R1 HDD: 260s - pendelt sich bei ca. 150 MB/s ein bei minimaler CPU um die 3%
R1 SSD: Abbruch wie oben - liegt das an den SSDs (reorg-Effekte)?
R10 HDD: 145s - recht konstant so um die 280 MB/s, anfangs minimal schneller, CPU so um die 6%
R5 HDD: 180s - nach anfänglich über 300 MB/s erfolgte schleichend über ca. 60s ein leichter Einbruch, CPU-Last durchschnittlich ca. 10%
R6 HDD: 185s - legt auch wieder los wie die Feuerwehr und pendelt sich dann bei ca. 225 MB/s ein - CPU bei um die 12%
Zwischenfazit: Die schnellen Starts sind vermutlich durch Daten im RAM bzw. lokalen Caches verursacht, die ich so nicht vermeiden kann. Das ist aber auch nicht schlimm für diesen Test, da dies ja praxisnah ist und die erzielte Dauertransferrate gegen Ende hin ebenfalls ersichtlich wird. Unerklärbar sind allerdings die SSD-"Ausfälle".
Sequential Read:
R0 HDD: 180s - erst bei 300 MB/s, im Verlauf dann langsam auf ca. 250 MB/s zurückgehend - CPU ca. 3%
R0 SSD: nicht durchgeführt, s.o. - ein Test mit einer 6 GB großen Datei ergab eine Leseperformance zwischen 500-600 MB/s (> 12s)!
R1 HDD: 240s - konstant um die 130 MB/s, sehr merkwürdig ist das, erwartet hätte ich ähnliche Performance wie R0 ... CPU minimal
R1 SSD: nicht durchgeführt, s.o. - ein Test mit einer 6 GB großen Datei ergab eine Leseperformance zwischen 500-600 MB/s (> 13s)!
R10 HDD: 210s - konstant bei ca. 255 MB/s mit leichten Schwankungen, CPU ca. 4%
R5 HDD: 200s - konstant bei ca. 275 MB/s mit leichter Tendenz nach unten gegen Ende - CPU ca. 3%
R6 HDD: 300s - wird immer langsamer von an die 500 MB/s auf ca. 140 MB/s ab Hälfte bis zum Ende - CPU ca. 4%
Zwischenfazit: Wenn die SSDs nur beim Write funktioniert hätten, würden sie vermutlich hier ihren Nutzen richtig ausspielen. Das in zwei Versuchen so gesehene R6 Verhalten erschliesst sich mir nicht ...
Random Write :
R0 HDD: 35s - Schwankung zwischen 100-150 MB/s
R0 SSD: 20s - meist so um die 300 MB/s mit geringen Schwankungen, vermutlich an der Grenze des möglichen, was der lokale PC liefern kann?
R1 HDD: 60s - Schwankungen und kontinuierliche Abnahme wie oben bei den SSDs, vermutlich durch Cachingeffekte, jedoch längst nicht in dem Ausmaß wie bei SSD
R1 SSD: 35s - hier gab es sehr merkwürdige Effekte, die Datenübertragung war teilweise sehr schnell, teilweise stockte sie für mehrere Sekunden, erst der dritte Versuch war "normal schnell", die ersten brauchten mehrere Minuten und wurden nicht gewertet (woran lag das?! k.A., es lief nix parallel)
R10 HDD: 45s - erst gehts langsam los, dann flott mit Schwankung so um die 100 MB/s bei 3% CPU
R5 HDD: 75s - komisch, am Anfang gings sehr langsam los mit 25MB/s, gegen Ende Steigerung auf bis ca. 75 MB/s
R6 HDD: 110s - auch hier gehts erst sehr langsam los mit unter 20 MB/s, dann plötzlich bis über 40 MB/s, alles bei nur 3% CPU
R6 HDD + SSD Cache: 45s - Cachenutzung so gut wie mgl forciert durch mehrere Versuche, CPU ging bis ca. 15% nach oben bei sichtbar hoher Cachenutzung
Zwischenfazit: Dass R5 etwas langsamer ist als R1 ist überraschend und kann ich mir so direkt nicht erklären: Beim R5 muß zwar Parity berechnet werden, die CPU war jedoch kaum ausgelastet. Bei R1 bleibt die einzelne Platte der begrenzende Faktor, müßte daher also eigentlich langsamer sein als R5 (wie auch oben im sequenziellen Test sichtbar). Mit der in der zweiten Hälfte beobachteten R5 Performance wäre R5 jedenfalls schneller als R1 gewesen. Ähnliches gilt für R6 mit noch mehr "Verzögerung".
Random Read:
R0 HDD: 42s - deutliche Varianz um ca. gut 200 MB/s, CPU minimal
R0 SSD: 28s - breite Varianz so um die 250 MB/s, CPU minimal
R1 HDD: 40s - leichte Varianz um die 300 MB/s ...
R1 SSD: 22s - leichte Varianz so um gut 300 MB/s, CPU minimal
R10 HDD: 25s - leichte Varianz um die 250 MB/s aber ob diese Anzeige dann so stimmt im Vergleich mit den anderen? CPU minimal ...
R5 HDD: 27s - mit leichter Varianz so um die 300 MB/s Tendenz leicht fallend gegen Ende, CPU minimal
R6 HDD: 46s - um die 130-140 MB/s recht konstant lt. Anzeige (aber kann das sein?!), CPU minimal
R6 HDD + SSD Cache: 20s - aber erst im zweiten Versuch, der erste war deutlich langsamer (wohl Forcierung der Cachenutzung) ... - CPU bis an die 15%
Zwischenfazit: Der SSD Cache kann im 10GBit/s Umfeld mit deutlicher Performancesteigerung punkten.
Beobachtung nebenbei: Die Temperaturen der HDDs liegen niedriger als in der 1813+. Dort erzielte ich typischerweise Temperaturen um die 30°, in der neuen Box liegen diese nochmals ca. 2-3°C niedriger.
Vorsichtige Interpretation der Ergebnisse:
- Für sequentielle IOs ist HDD die sichere Wahl. Die SSD macht hier echte Probleme und zeigt ein sehr merkwürdiges Verhalten. Da nur zwei SSDs vorlagen konnten keine Tests mit Raid 5, 6 oder 10 durchgeführt werden um zu sehen, ob dies dort auch auftritt. Wer also SSDs im RAID betreiben möchte sollte vorher diesen Punkt testen.
- Bei random IO zeigt die Kombination mit einem SSD Cache eine teils deutliche Performanceverbesserung. Die war teilweise so gut, daß mir die Kombination besser erscheint als Workloads auf Volumes zu verteilen (wer kann das schon so realisieren, daß random IO immer auf SSD trifft, und umgekehrt?)
- Die Performance ist zwar spürbar besser als bei 1 GBit/s, aber müßte eigentlich noch besser sein. Ob dies auch mit am Client liegt liesse sich nur durch einen Stresstest von mehreren Rechnern aus überprüfen, was ich in meiner Konfiguration leider nicht so leicht in der Form leisten kann.
Meine erste Wahl fiel daher auf Raid 5 + SSD (Write) Cache, da dies für mich das Optimum an Leistung + Datensicherheit + Platzausnutzung + Problemfreiheit darstellt. Das Risiko eines zweiten Plattencrashs bei Rebuild ist vertretbar, da Backups natürlich vorhanden sind.
Insgesamt fühlt sich die neue Umgebung deutlich und spürbar schneller an. In manchen Situationen (außerhalb des Tests) waren Dateien rasend schnell kopiert, und Laufwerkgrößen zB (rechte Maustaste > Properties) waren um ein Vielfaches schneller als auf der alten Box.
Mir stellen sich nun folgende Fragen:
- Woran liegt das "Versagen" der SSDs im Raid bei größeren Datenmengen? Kann das überhaupt jemand so nachvollziehen, oder scheint das eher ein spezielles Problem in meiner Konfiguration zu sein?
- Kann man Energie sparen, indem man permanent genutzte Daten (Web Server Traffic ...) auf ein Volume legt und weniger genutzte auf ein anderes? Dazu müßte die DS die Platten einzeln hibernaten lassen. Hibernated auch der SSD Cache separat (mit der Option sequential IO direkt auf die HDDs gehen zu lassen wäre das auf jeden Fall interessant)?
- Wie verhält sich das System bei direktem Zugriff auf die Laufwerke, zB über Lightroom? Damit sollten die 10 GBit/s besser ausgenutzt werden können, sofern die Box schnell genug ist, weil die lokale Konfiguration (Lesen von den lokalen Platten, usw.) dann keinen Einfluß mehr haben sollte. Ich werde das sobald ich das Setup dafür am Laufen (und die Zeit dafür) habe mal testen und ggf. hier nochmal berichten.
- Was kann iSCSI hier ggf. bringen? ZB eine eigene LUN für Lightroom? Würde die Nutzung durch mehrere Clients dann aber nicht ein Cluster-FS erfordern und wäre das überhaupt praktikabel (hat das schon mal jemand probiert oder am Laufen)? Und wie würde man dann sinnvollerweise (Smart) Previews ablegen, auch auf die LUN?
Ich hoffe Euch damit ein paar sinnvolle Informationen gegeben zu haben. Bitte beachtet, daß dies ein von mir in nicht-Laborbedingungen durchgeführter Test war und die Ergebnisse nur mit Vorsicht (wenn überhaupt) übertragen werden sollten. Wenn jemand ähnliche Tests gemacht hat oder machen möchte würde ich mich über eine Antwort hier freuen.