Consumer SSD 1TB für schnelle 'sync writes'

eehm

Lieutenant
Registriert
Juli 2009
Beiträge
557
Ich betreibe in Meinem Homelab einen kleinen ESXi Server.
Die VMs des Server sind per NFS (TrueNAS (ZFS) im Hintergrund) angebunden und ESXi schreibt seine Daten als 'sync writes'.
Ein Test mit zwei alten 256 GB SSDs in einem Mirror lieferte gerade mal gute 35 MB/s Schreibperformance bei einer 1GB Datei. Mit deaktivierten 'sync-writes' waren es gleich 400 MB/s.
Gibt es halbwegs bezahlbare SSDs (M2.PCIe 2280) die auch bei 'sync writes' eine anständige Performance liefern können oder muss es hier eine Enterprise-SSD mit PLP sein?
 
Was genau machen die Sync Writes bzw. welchen Nachteil hat es, diese zu deaktivieren und wie funktionieren die Sync Writes eigentlich technisch?

Nach dem, was du schreibst, kann ich mir nicht vorstellen, dass eine "schnellere" SSD/NVMe das Problem lösen wird!
 
Dabei wird ohne Schreibcaches gearbeitet und das Device bestätigt das Schreiben explizit. Ist die sicherste Variante um Datenverlust möglichst zu vermeiden. Das kommt natürlich nicht ohne Kosten - hier Zeit - was zu geringen Datenraten führt.

Ich kenne mich mit ZFS nicht aus, hast du da Stellschrauben bezüglich Blockgröße? Bei doppelt so großen Blöcken wie jetzt, muss nur halb so oft quitiert werden, was natürlich auch wieder die Datenrate positiv beeinflusst. Wobei man dann natürlich auch ein wenig mehr Daten verliert bei Stromverlust.

PLP Devices helfen auf jedenfall, man muss dann aber trotzdem sicherstellen das auf Hostseite kein Schreibcache genutzt wird. Das Device kann nur die Daten sichern, die es schon hat. Als Programmierer würde man dann statt O_SYNC, O_DIRECT nutzen. Wäre aber eine große Performanceverbesserung.
 
Chuuei schrieb:
Ich kenne mich mit ZFS nicht aus, hast du da Stellschrauben bezüglich Blockgröße?
Damit habe ich schon experimentiert. Leider ohne großen Erfolg.

Aus diesem Grund dachte ich, dass hier ggf. jemand "normale" SSDs für so einen Zweck im Einsatz hat und mir ggf. Empfehlungen geben kann! :)
 
Wie gesagt: selbst sehr preiswerte "Baumarkt-SSDs" sind üblicherweise so schnell (also hohhe IOPS-Performance), dass es an der Stelle eigentlich kein Problem geben sollte. Zumindest keines, was mit einer noch schnelleren SSD/NVMe behoben werden kann.
 
King_Rollo schrieb:
Wie gesagt: selbst sehr preiswerte "Baumarkt-SSDs" sind üblicherweise so schnell (also hohhe IOPS-Performance), dass es an der Stelle eigentlich kein Problem geben sollte.
Leider trifft das auf 'sync-writes' meiner Erfahrung nach nicht zu.
Bei meinem Test waren es zwar etwa 4 Jahre alte SSDs.
Diese schaffen normal locker 400 MB/s bei asynrchronen Schreibvorgängen.
In meinem Test mit sync-writes waren es nicht mal mehr 40 MB/s :(
 
whtjimbo schrieb:
kann man die sync-writes unter Windows 10 irgendwie nachstellen?
Das weiß ich leider nicht sicher. :(
Man bäuchte ein Programm, dass nach sync-writes verlangt!
Ich weiß nur, dass SQL-Datenbankserver ebenso wie eben vmware ESXi bei seinen Datastores auf diese besonders sichere Art der Kommunikation setzt.
 
eehm schrieb:
Leider trifft das auf 'sync-writes' meiner Erfahrung nach nicht zu.
Bei meinem Test waren es zwar etwa 4 Jahre alte SSDs.
Diese schaffen normal locker 400 MB/s bei asynrchronen Schreibvorgängen.
In meinem Test mit sync-writes waren es nicht mal mehr 40 MB/s :(
Ich glaube wir missverstehen uns.
Ganz offensichtlich schaffen die SSDs locker mehrere hundert MB/s und auch mehrere tausend IOPS/s (was in 99% aller Anwendungsfälle ja auch das entscheidende ist).
Wenn diese SSDs also plötzlich diesen Durchsatz/IOPS nicht mehr schaffen und massiv unterschreiten, wenn du an den Software-Einstellungen etwas änderst, dann wird es wohl auch Software liegen und nicht an den SSDs!
Irgendwo im Gesamtkonstrukt scheint da irgendwas auf den Sync-acknowledge o.ä. zu warten und dadurch wird alles insgesamt sehr viel langsamer.
Aber ich gebe zu, dass all das nur meinem Verständnis nach so ist. Interessant wäre z.B. ein Test mit einer NVMe/PCI-e-SSD, die man ja mal irgendwo für 2 knapp 2 Wochen "ausborgen" könnte...
 
King_Rollo schrieb:
Wenn diese SSDs also plötzlich diesen Durchsatz/IOPS nicht mehr schaffen und massiv unterschreiten, wenn du an den Software-Einstellungen etwas änderst, dann wird es wohl auch Software liegen und nicht an den SSDs!
Irgendwo im Gesamtkonstrukt scheint da irgendwas auf den Sync-acknowledge o.ä. zu warten und dadurch wird alles insgesamt sehr viel langsamer.
Das Problem müsste folgendes sein.
Viele "bessere" SSDs haben einen DRAM Cache. Damit können die Schreiboperationen stark beschleunigt werden.
Dieser DRAM Cache ist bei Consumer SSDs nicht gegen Stromausfall gesichert und die Daten wären in diesem Fall weg.
Wenn jetzt also eine Software sync-writes anfordert, dann kann die SSD den Cache nicht mehr nutzten, wenn er keine PLP besitzt, weil Sie nicht mehr garantieren kann, dass die Daten es in den nichtflüchtigen Speicher schaffen.
Somit fällt sie auf die reine Geschwindigkeit ihrer NAND-Chips zurück. Daher auch die Frage, ob ihr Consumer SSDs kennt die hier besonders schnelle NAND-Chips haben. ;)
 
DRAM-Cache ist nicht für Nutzdaten sondern für ne Kopie des Flash Transaction Layers
 
Denniss schrieb:
DRAM-Cache ist nicht für Nutzdaten sondern für ne Kopie des Flash Transaction Layers
Danke für den Hinweis.
Aber ohne PLP kann die SSD dann den DRAM nicht für die Flash Transaction Layers nutzen?
Und wird deshalb so langsam?

King_Rollo schrieb:
Beziehst du dich jetzt auf die Aussage von Denniss?

Ich bin froh, wenn mir jemand wirklich mal erklären kann, warum die sync-writes so einbrechen ..... meine Erläuterung ist ja wohl leider falsch! :(
 
Zurück
Oben