Lese/Schreib Cache komisches verhalten bei Perfomance

  • Hey Leute, ich hatte bei mir noch eine ältere 250 GB Samsung 960 EVO M.2 Nvme rumliegen und habe die jetzt als Cache in mein Nas gebaut.

    Habe sie auch korrekt eingerichtet und der Status sagt *Bereit*. Habe jetzt ein Test gemacht und ein Ordner mit 20.000 kleine Dummy Files erstellt und hab sie auf das Nas rübergezogen.

    Speed: 9 bis 10 MB die Sekunden. Dann habe ich das gleiche auf mein Notebook von SSD auf HDD gemacht und da ging es sau schnell trotz HDD Festplatte.

    So wie ich mir das denke funktioniert ja der Cache so, das wenn geschrieben wird, immer erst auf die M.2 geschrieben wird und von der M.2 dann auf das Raid. Die M.2 müsste doch aber bei sehr vielen kleinen Datein viel viel mehr Perfomance bringen oder ? :/


    Beim Lese Cache verstehe ich das ja noch, da dort ja nur das gecacht wird wo viel drauf zugegriffen wird. ?(




    Einmal editiert, zuletzt von Ceiber3 ()

  • Ich kann dir nicht sagen, ob der SSD-Cache beim Schreiben aktiv ist. Meiner Meinung nach, nein. Da würde Datenverlust drohen.

    Lesend ergäbe das einen Sinn.

    Ich selbst sehe keinen Sinn in einem SSD-Cache für Home User. Besser ein guter RAM-Ausbau.

  • Hmm ? Ich habe ihn doch aber als lese und schreibe Cache eingerichtet. :|

    Man hat ja die Auswahl: Lese oder schreib Cache oder lese und schreib Cache. :/


    Arbeitsspeicher langt mir mit 20 GB. :)


    Edit: Wenn ich was schreibe zeigt der Cache schon Aktivität.



    Einmal editiert, zuletzt von Ceiber3 ()

  • Ich kenne mich da nicht gut aus, da ich niemals einen Schreibcache per SSD oder was auch immer, einrichten würde.

    Da du 20 GB Ram hast, kannst du besser einen direkten Cache einrichten, das bringt garantiert mehr, wenn nicht Ram für VMs weg gehen.

  • Ne Ram lohnt nicht. Viel zu klein als Cache.

    Gibt es keine anderen User die eine oder 2 SSD's als Cache eingerichtet haben ?


    222 IOPS Raid 5 VS 362366 sind halt schon ein mega unterschied.

    Das sind rund 1640x mehr IOPS als das Raid im verbund hat.

    Das sollte man doch merken bei kleinen Datein. ||

    Einmal editiert, zuletzt von Ceiber3 ()

  • Ne Ram lohnt nicht. Viel zu klein als Cache.

    Verstehe ich nicht. Was willst du zwischenspeichern?

  • Alles was ich auf das Nas lade soll erstmal gecacht werden und dann soll das Nas in ruhr auf das Raid laden.

    Das ist ja der Sinn beim schreib Cache, schnell kleine oder große Datein auf den um ein vielfacheres schnellern SSD Cache zu laden und so die Perfomance zu optimieren. Mit 10GB oder 15GB Ram Cache kann ich garnichts anfangen, der wer innerhalb von paar Minuten/Sekunden voll und dann habe ich wieder lahmen HDD/Raid Speed. Da du ja so was nicht nutzt, kannst du mir auch nicht wirklich weiterhelfen. Ich hoffe es gibt noch andere Qnap User die Cache nutzen und mir da helfen können.

    Geplant ist eigentlich das ich noch eine zweite 500 oder 1000 GB M.2 NVMe *Samsung 970 Pro* einbaue nur für reinen schreibe Cache. Da ich die 250 GB noch rumliegen hatte, möchte ich erstmal testen um wie viel % sich die Perfomance verbessert, bis jetzt bin ich aber eher enttäuscht von der Perfomance und habe mir da viel viel mehr erhoft. Daher auch meine Frage ob jemand anders das auch so nutzt oder so ähnlich und ob die Perfomance da auch so bescheiden ist.


    Edit: Bilder


    Files zu Nas:


    Files zu HDD:


    Einmal editiert, zuletzt von Ceiber3 ()

  • Hier ist der Netzwerk Overhead nicht zu vernachlässigen, wir sprechen hier von TCP mit allem Overhead.

    Das ist gerade bei kleinen Dateien ein Problem und kostet Zeit.

    Im Rechner merkst du das nicht, denn alles wird gelesen, landet direkt im RAM und wird dann an die HD übergeben, die es wiederum im eigenen RAM cached und dann umsortiert und schreibt.

    Zudem wird heute ein Teil des Host RAM als zusätzlicher Cache eingesetzt, das trügt auch ein wenig das Bild der Performance.


    Ein Test wäre, die gleichen Daten an einen anderen Rechner zu übertragen, der am Switch hängt an dem sich auch dein NAS befindet, dann hättest du einen Vergleichswert.

  • Ich habe jetzt einige Test gemacht und finde etwas total eigenartig.


    Ich habe eine VM auf dem Raid mit Cache erstellt um da den Speed zu testen.

    Der Speed ist mit Cache genau so lahm als wer gar kein Cache vorhanden! ;(


    Stelle ich dann bei der Virtuellen HDD writebackcache an, komme ich auf 1900 MB Lesen und 1200 MB schreiben.

    4k Werte im CrystalDiskMark 6 um die 100 MB was mega low ist. Normal sind da auch locker 1000 MB drin bei den Samsung NVMe.


    Also habe ich mir gedacht ich lösche mal den Cache und starte die VM trotzdem mit writebackcache und auch ohne SSD Cache komme ich auf 1900 MB Lesen und 1200 MB schreiben und auch wieder nur rund 80 bis 110 MB bei den 4K Werten.


    Kann es sein dass das Cachen überhaupt garnicht mehr/richtig funktioniert ?

    Habe schon Qnap Videos gesehen mit normalen Sata SSD wo die Leute mit SSD Cache auf 400 MB kommen von 60 bis 80 MB HDD.

    Und das ohne im QTS writebackcache in der VM zu aktivieren.

  • Daher auch meine Frage ob jemand anders das auch so nutzt oder so ähnlich und ob die Perfomance da auch so bescheiden ist.

    Ich habe zwei m.2 NVMe Module als RAID1 Cache für R/W eingerichtet.

    Speed ist meistens auf Anschlag des 1Gb/s Anschlusses (Portbündelung von zwei NIC's)


    Bei der Einrichtung, bzw. auch später, kannst du den Cache noch konfigurieren, bis zu welcher Blockgröße er cachen soll. Hatte da mal "alles" eingestellt, bringt aber bei riesigen Files (.mkv größer 10 GB) nichts mehr.

    Jetzt bin ich, glaube ich, bei zweitgrößten Einstellung (64 oder so, sitze gerade nicht vor dem NAS)


    Allerdings ist mein RAID5 mit den Platten auch ohne Cache schnell genug um den 1Gb Anschluss auszureizen ...

  • Auch bei den 4K Werten ?

    Bei normalen lesen und schreiben komme ich auch locker auf Anschlag.

    1 GB Sekunde bei 10G Lan mit Cache bei großen Datein, sonst 400/500 MB Sekunde und 115 MB bei 1G Lan ohne/mit Cache.


    So also kein Plan was da nicht hinhaut.


    Habe jetzt mal die NVMe als normalen Speicher Pool erstellt und darauf ne VM erstellt um den Speed direkt von der NVMe zu testen.

    Und auch hier sind die 4K Werte ultra schlecht.


    Habe ein paar Bilder.


    NVMe in mein Notebook, eigentliche Leistung was sie bringen sollte bei 4K Werten.

    Normale lese und schreibe Werte sind beim Nas weniger da nur PCIe 3.0 x2 angebunden.



    Hier einmal direkt als Speicherpool als VM Speicher Windows 10 mit writebackcache.




    Und hier noch mal einer ohne writebackcache Einstellung in der VM.



    Die Werte passen überhaupt nicht zu den SSD Leistungsangaben und den die ich früher in mein Notebook gemessen habe. :(

    2 Mal editiert, zuletzt von Ceiber3 ()

  • Ich werde dazu heute Abend mal ein paar Leistungswerte posten, kann das Verhalten, das bei Dir Ceiber3 auftritt aber bestätigen - ich habe exakt das selbe Problem (übrigens ursprünglich mit der exakt selben NVMe SSD die auch Du benutzt). Schreibend stellt sich das SSD-Cache dar, als wäre es gar nicht vorhanden, völlig egal, ob man Over-Provisioning aktiviert hat oder nicht und welche zusätzlichen Einstellungen man benutzt. Einen "spürbaren" Unterschied ob mit oder ohne Cache kann ich nicht feststellen - und das bei mir mit einer 10GBit Netzwerkanbindung.



    Gruß,


    Lauri

  • Hi Laurenzis, danke das du hier schreibst und ich scheinbar damit nicht aleine da stehe.

    Für große Datein brauche ich kein Cache, da schaft es auch das Raid vom Speed her gut, so ein Cache baut man sich ja aber ein um die Perfomance bei kleinen Datein 4K Werten usw enorm zu verbessern und genau das funktioniert irgendwie überhaupt nicht richtig.


    Habe den Over-Provisioning Test auch machen lassen in der Hoffnung das vielleicht da der Fehler liegt, laut Test habe ich die meisten schreib IOPS bei 60% Over-Provisioning. Habe ich also testweise eingerichtet und merke 0 unterschied zu 10% die ich davor eingestellt hatte. :thumbdown: ;(




    Ich bin einfach meilenweit von den Hersteller Leistungsangaben und den von mein Notebook gemessen Werten entfernt.

    Ich verstehe einfach nicht warum das nicht funktioniert! Warum baut man eine NVMe Cache funktion ein die ein sehr viel mehr Leistung laut Qnap Werbung bringen soll und dann so gut wie nicht's bewirkt. X(


    Samsung Hersteller Angaben:

    IOPS 4K lesen/schreiben 330k/300k

    3 Mal editiert, zuletzt von Ceiber3 ()

  • Auch bei mir bringt die Einrichtung eines Schreib/Lese-Caches nicht wirklich mehr Geschwindigkeit mit 10GBE. Die SSDs hängen alle an SATA-Schnittstellen der Hauptplatine, bzw. Erweiterungskarte.

    Für deine vielen kleinen Dateien kannst du mal den Cache-Modus "zufällige E/A" ausprobieren, der soll zumindest laut Beschreibung dafür besser geeignet sein.


    Ich überlege noch ob ich eine Qnap QM2-4P-380 kaufe, wo SSDs direkt per PCI angebunden werden können, zweifle aber irgendwie daran, dass dann die von Qnap angegebenen Geschwindigkeiten erreicht werden.


    Mit den SSD-Platten an der SATA-Schnittstelle sehe ich nirgendwo große eine Verbesserung durch einen Cache.

  • Danke, das erhärtet meine Vermutung noch mehr. Qtier soll ja laut Qnap auch gut was bringen, aber einige User hatten geschrieben das sie sogar weniger Perfomance mit hatten. Das ist aber ne andere Baustelle. Sollte aber auch nicht so sein.


    Steigen Sie mit QTS 4.3.6 in die High-Speed-Ära ein.

    Zu schön um war zu sein. 8o

  • Qtier, noch so ein Thema: Bei mir sind 3 x 500 GB SSD (Raid 5)+ 3 x 10TB WD Red (Raid 5) im Qtier-Verbund zusammengeschaltet. Hatte ich extra eingerichtet, da ich mich bewusst für HDDs mit 5400 U/min entschieden hatte. Ein Leseleistung bringt es schon, für das Schreibverhalten sehe ich kaum Vorteile.


    Der größte Nachteil von Qtier ist, das du den Verbund nicht einfach (wie z.B. beim Cache) auflösen kannst, sondern das System neu aufsetzten musst.


    Das kopierte File hat eine Gesamtgröße von ca. 3,4 GB:

  • Hmm, habe gestern auch noch einige Speedtests mit/ohne Cache gemacht und bin auch etwas unschlüssig, was ich davon halten soll ...


    Möchte euch jetzt gar nicht mit den vielen Zahlen belästigen ;-)


    Ich habe leider nur einen 1Gb LAN Anschluss vom Desktop PC zur NAS und habe da mal die Übertragung mit/ohne Cache getestet (CrystalDiskMark) und dann von einer VM innerhalb der NAS mit/ohne Cache.


    Dabei ist mir aufgefallen, dass die Übertragung per LAN bessere Werte hatte, als intern von der VM zum RAID5. In der VM kann ich die Virt-IO Treiber nicht einbinden und habe daher "nur" SATA zur Verfügung.


    Es kommt mir so vor, als ob der Cache in der NAS nur für LAN verwendet wird und bei der internen Übertragung von SATA zu SATA (M.2 SSD zum HDD-RAID5) gar nicht angesprochen wird ???

    Ich habe dabei CrystalDiskMark verwenden und das schreibt einiges an Daten und liest sie wieder aus, die Grafik beim Cache hat sich während des Testes nicht wirklich verändert. Zeigt mir also keine Schreibbewegungen bei SATA - SATA, bei LAN - SATA aber schon ...

  • Ja, wenn du Sata bei der VM nutzt, hast du leicht schlechtere Perfomance als mit Virt-IO.

    Also auch bei der Vm nutzt er den Cache halt sehr komisch, obwohl er eigentlich genau für solche Anwendungen gemacht wurde.




    Mache ich Writebackcache bei den Vm Einstellungen an, schlägt der Schreibe Cache direkt auf 100% aus. Das Lustige dabei ist, lasse ich die Option Writebackcache an und deaktiviere nur den SSD Cache, habe ich genau gleich viel Perfomance als wie mit Cache.


    Normal müssten mit Cache die Werte im 1 GB Netz mit CrystalDiskMark beim schreiben von PC zu Nas:


    Seq Q32T1: 115/116 MB/s

    4KiB Q8T8: 115/116 MB/s

    4KiB Q32T1: 115/116 MB/s

    4KiB Q1T1: 115/116 MB/s


    sein.


    Beim 10 G Netz je nach SSD in meinen Fall die EVO.


    Seq Q32T1: 1100 MB/s

    4KiB Q8T8: 1000/1100 MB/s

    4KiB Q32T1: 450/500 MB/s

    4KiB Q1T1: 150/180 MB/s


    Bei VM zu VM Festplatte sollten solche Werte rauskommen beim schreiben mit NVMe Cach.


    Seq Q32T1: 1500 MB/s

    4KiB Q8T8: 900/1100 MB/s

    4KiB Q32T1: 400/500 MB/s

    4KiB Q1T1: 130/180 MB/s


    Beim lese Cache kommt es halt drauf an welche Daten er cachet, da tut er ja nicht wie beim schreibe Cache immer cachen.

    Aber auch hier gerade bei VM sollte man eine sehr gute Verbesserung feststellen. Da gerade der lese Cache für VM's und Datenbanken gemacht ist.

    4 Mal editiert, zuletzt von Ceiber3 ()

  • Na super... mit Euch habe ich Probleme von denen ich ohne Euch gar nix wüßte... :-D


    PC zu NAS (TVS-882T über 1GB Netz) Cache aktiviert, 400MB als Raid 1 R/W zufällig (32MB -maximum was möglich ist)




    Wieso ist 4KiB Q1T1 so langsam? Any ideas?

  • Also ich habe jetzt mal in mein 10G Netz den Speed gemessen und da schaut es schon ein wenig besser aus als auf der VM, aber leider sind das halt die Werte von meinen 3x 10 TB Raid 5, also ohne Cache. Ich kapier das nicht, nromal hätte er doch jetzt in den SSD schreibe Cache schreiben müssen. :huh:


    Ich hab mir jetzt mal ein langes Thunderbolt 3 Kabel bestellt was bis zu mein Nas reicht.

    Mal sehen ob die Werte direkt über Thunderbolt auch so kacke sind. :)



    Wenn ihr kleine Dummy files zum testen braucht, könnt ihr das über eine .bat machen.

    Einfach ein leeres Dokument mit dem inhalt:


    Code
    1. @echo off
    2. for /l %%x in (1, 1, 10000) do (
    3. fsutil file createnew %%x.test 100000
    4. )


    erstellen und als .bat speichern und in ein leeren Ordner ausführen. Er erstellt dann 10000 kleine leere dummy files.


    100% Cache aktivität! Und 0 M.2 Auslastung passen ja mal überhaupt nicht zusammen.


    Was ich jetzt noch Probiert habe:


    1. Nur Samba 3 erlaubt, da hat sich die Schreibrate von 9 MB die Sekunde auf etwa 20 Mb die Sekunde leicht verbessert bei den 10.000 Dummy Files. Leider hat es aber trotzdem nicht den gewünschten Effekt gebracht.

    2. Habe ich mal unter Systemsteuerung/Hardware den EXT Schreib Cache deaktiviert. Auch das hat nichts an der Perfomance geändert.

    3. Habe ich mal die M.2 aktivität beobachtet beim schreiben auf die HDD's und die M.2 hat 0 Auslastung, als wer gar kein Cache verbaut. Ich bin langsam echt mit mein latein am Ende. :)

    4 Mal editiert, zuletzt von Ceiber3 ()