CSV-Cache auf Hyper-V bei zwei HDD-Stapeln
Moin Kollegen,
ich hab einen Windows 2016_Cluster mit 4 Hyper-Vs im Einsatz. Eigentlich lief der immer recht zügig, aber er ist in die Jahre gekommen und wird 2025 komplett abgelöst. Bis dahin muss er noch durchhalten.
Als zentraler Speicher dienen zwei HP MSA 2000P G3 mit 50 Platten und jeweils 3 LUNs.
Ich weiß, dass hier IO-mäßig nicht viel zu machen ist.
Ich wundere mich über die doch merklich abgesunkene Performance und hab mal ein bißchen herumprobiert:
Wenn ich von einem Hyper-V aus eine 30GB-Testdatei in eine der LUNs kopiere, geht das noch akzeptabel gut.
Die Perfomance-Graphen der SAN-Switche zeigen hohe Ausschläge auf den entsprechenden Ports.
Im normalen Betrieb erreiche ich diese Leistung interessanterweise nicht.
Auch bei Veeam-Backup sehe ich zu Beginn Performancespitzen, die für mich traumhaft sind, aber die werden danach nicht wieder erreicht.
Ich bin drauf gestoßen, dass es möglich ist, den CSV-Cache zu aktivieren, da dieser per default nicht aktiv ist:
https://techcommunity.microsoft.com/t5/failover-clustering/how-to-enable ...
Hat da jemand Erfahrung von Euch? Bringt das etwas?
Danke und frohes Neues Euch allen!
Kollegiale Grüße
Andreas
ich hab einen Windows 2016_Cluster mit 4 Hyper-Vs im Einsatz. Eigentlich lief der immer recht zügig, aber er ist in die Jahre gekommen und wird 2025 komplett abgelöst. Bis dahin muss er noch durchhalten.
Als zentraler Speicher dienen zwei HP MSA 2000P G3 mit 50 Platten und jeweils 3 LUNs.
Ich weiß, dass hier IO-mäßig nicht viel zu machen ist.
Ich wundere mich über die doch merklich abgesunkene Performance und hab mal ein bißchen herumprobiert:
Wenn ich von einem Hyper-V aus eine 30GB-Testdatei in eine der LUNs kopiere, geht das noch akzeptabel gut.
Die Perfomance-Graphen der SAN-Switche zeigen hohe Ausschläge auf den entsprechenden Ports.
Im normalen Betrieb erreiche ich diese Leistung interessanterweise nicht.
Auch bei Veeam-Backup sehe ich zu Beginn Performancespitzen, die für mich traumhaft sind, aber die werden danach nicht wieder erreicht.
Ich bin drauf gestoßen, dass es möglich ist, den CSV-Cache zu aktivieren, da dieser per default nicht aktiv ist:
https://techcommunity.microsoft.com/t5/failover-clustering/how-to-enable ...
Hat da jemand Erfahrung von Euch? Bringt das etwas?
Danke und frohes Neues Euch allen!
Kollegiale Grüße
Andreas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 14055116308
Url: https://administrator.de/contentid/14055116308
Ausgedruckt am: 21.11.2024 um 09:11 Uhr
2 Kommentare
Neuester Kommentar
Moin Andreas,
was meinst du mit dem letzten Satz genau?
Hast du die gute Performance nur wenn du ausserhalb des normalen Betriebs kopierst oder meinst du damit, dass du diese Leistung nur direkt auf dem Hyper-V hast, aber nicht innerhalb einer VM?
Das hat was damit zu tun, wie Veeam die Daten schreibt, denn die werden mithilfe des Windows Softwarecachings, sprich, gecacht über den RAM, auf das Backupziel geschrieben. Vor allem am Anfang eines Backupjobs ballert Veeam mehrere Gigabyte an Backupdaten in den RAM was relativ schnell geht und das siehst du dann auch kurz als Leistungsspitze. Ab einer gewissen Grösse, ich meine so ab 5GB, lässt Windows keine weiteren Daten mehr in den Hot-Cache schreiben bevor ein Teil der vorherigen nicht auf das Endziel übertragen wurden und das ist dann der Augenblick, wo die Performance meistens einbricht.
Das mit per Default nicht aktiv ist aber so nicht ganz richtig, soweit ich weis ist das genau umgekehrt, sprich der CSV-Cache ist immer per default an und steht auf 1024 MB.
Ja, aber begrenz gute, daher schalten wir den normalerweise auch aus.
Wir verbauen aber schon seit Jahren nur AllFlash. Es kann gut sein, dass es bei HDD's eventuell doch was bring.
Du kannst die Cachegrösse ja jederzeit anpassen und Testen wie dein System mit oder ohne läuft.
Damit die Änderungen greifen, musst du übrigens nur das entsprechende CSV von einem Node zum anderen verschieben.
Dir auch ein frohes Neues.
Gruss Alex
Wenn ich von einem Hyper-V aus eine 30GB-Testdatei in eine der LUNs kopiere, geht das noch akzeptabel gut.
Die Perfomance-Graphen der SAN-Switche zeigen hohe Ausschläge auf den entsprechenden Ports.
Im normalen Betrieb erreiche ich diese Leistung interessanterweise nicht.
Die Perfomance-Graphen der SAN-Switche zeigen hohe Ausschläge auf den entsprechenden Ports.
Im normalen Betrieb erreiche ich diese Leistung interessanterweise nicht.
was meinst du mit dem letzten Satz genau?
Hast du die gute Performance nur wenn du ausserhalb des normalen Betriebs kopierst oder meinst du damit, dass du diese Leistung nur direkt auf dem Hyper-V hast, aber nicht innerhalb einer VM?
Auch bei Veeam-Backup sehe ich zu Beginn Performancespitzen, die für mich traumhaft sind, aber die werden danach nicht wieder erreicht.
Das hat was damit zu tun, wie Veeam die Daten schreibt, denn die werden mithilfe des Windows Softwarecachings, sprich, gecacht über den RAM, auf das Backupziel geschrieben. Vor allem am Anfang eines Backupjobs ballert Veeam mehrere Gigabyte an Backupdaten in den RAM was relativ schnell geht und das siehst du dann auch kurz als Leistungsspitze. Ab einer gewissen Grösse, ich meine so ab 5GB, lässt Windows keine weiteren Daten mehr in den Hot-Cache schreiben bevor ein Teil der vorherigen nicht auf das Endziel übertragen wurden und das ist dann der Augenblick, wo die Performance meistens einbricht.
Ich bin drauf gestoßen, dass es möglich ist, den CSV-Cache zu aktivieren, da dieser per default nicht aktiv ist:
https://techcommunity.microsoft.com/t5/failover-clustering/how-to-enable ...
https://techcommunity.microsoft.com/t5/failover-clustering/how-to-enable ...
Das mit per Default nicht aktiv ist aber so nicht ganz richtig, soweit ich weis ist das genau umgekehrt, sprich der CSV-Cache ist immer per default an und steht auf 1024 MB.
Hat da jemand Erfahrung von Euch? Bringt das etwas?
Ja, aber begrenz gute, daher schalten wir den normalerweise auch aus.
Wir verbauen aber schon seit Jahren nur AllFlash. Es kann gut sein, dass es bei HDD's eventuell doch was bring.
Du kannst die Cachegrösse ja jederzeit anpassen und Testen wie dein System mit oder ohne läuft.
Damit die Änderungen greifen, musst du übrigens nur das entsprechende CSV von einem Node zum anderen verschieben.
Danke und frohes Neues Euch allen!
Dir auch ein frohes Neues.
Gruss Alex
Moin @beidermachtvongreyscull,
folgend noch ein paar Details zum CSV-Cache die man berücksichtigen sollte.
Der CSV-Cache ist ein reiner Lesecache, für schreibende Zugriffe bring dieser somit genau 0.
Zudem und das gilt übrigens so gut wie für jedes Lesecaching, beschleunigt ein solcher Cache meistens erst den Second-IO und nicht den First-IO. Sprich, er beschleunigt einen Zugriff erst bei einem wiederholten Zugriff auf denselben Datensatz, aber nicht den aller Ersten. Das ganze ist auch nicht umsonst, den das permanente Caching der Daten die über die CSV bezogen werden und zwar ganz unabhängig davon, ob diese Zeitnah auch wirklich ein zweites Mal benötigt werden, kostet ständig zusätzliche CPU und auch RAM Ressourcen der entsprechenden Hyper-V Nodes.
Und wenn du im Tagesbetrieb nicht ständig und auch innerhalb eines kurzen Zeitraums, denn die per Default eingestellten 1024 MB reichen je nach Umgebung nicht wirklich für lange bis die im Cache befindlichen Daten durch neue überschrieben werden, ständig ein und dieselben Daten liest, dann wird dir der Cache auch nichts bringen, ausser mehr Haare vom Kopf zu fressen.
Ausserdem, der meiste lesenden Datenverkehr den man mit einer Windows VM über die CSV's erzeugt, wird eh in irgend einer Form, von dem in der VM laufenden Windows (Software-Caching) und oder einer Applikation (z.B. SQL Server), auch nochmals im RAM der VM gecacht. Sprich, in den meisten Fällen ist der IO dann doppelt oder dreifach hintereinander gecacht (SAN, HV-Node, VM, (Applikation)), was so, ausser Ressourcen zu verschwenden, meistens nicht wirklich etwas bringt. 😔
Gruss Alex
Hat da jemand Erfahrung von Euch? Bringt das etwas?
folgend noch ein paar Details zum CSV-Cache die man berücksichtigen sollte.
Der CSV-Cache ist ein reiner Lesecache, für schreibende Zugriffe bring dieser somit genau 0.
Zudem und das gilt übrigens so gut wie für jedes Lesecaching, beschleunigt ein solcher Cache meistens erst den Second-IO und nicht den First-IO. Sprich, er beschleunigt einen Zugriff erst bei einem wiederholten Zugriff auf denselben Datensatz, aber nicht den aller Ersten. Das ganze ist auch nicht umsonst, den das permanente Caching der Daten die über die CSV bezogen werden und zwar ganz unabhängig davon, ob diese Zeitnah auch wirklich ein zweites Mal benötigt werden, kostet ständig zusätzliche CPU und auch RAM Ressourcen der entsprechenden Hyper-V Nodes.
Und wenn du im Tagesbetrieb nicht ständig und auch innerhalb eines kurzen Zeitraums, denn die per Default eingestellten 1024 MB reichen je nach Umgebung nicht wirklich für lange bis die im Cache befindlichen Daten durch neue überschrieben werden, ständig ein und dieselben Daten liest, dann wird dir der Cache auch nichts bringen, ausser mehr Haare vom Kopf zu fressen.
Ausserdem, der meiste lesenden Datenverkehr den man mit einer Windows VM über die CSV's erzeugt, wird eh in irgend einer Form, von dem in der VM laufenden Windows (Software-Caching) und oder einer Applikation (z.B. SQL Server), auch nochmals im RAM der VM gecacht. Sprich, in den meisten Fällen ist der IO dann doppelt oder dreifach hintereinander gecacht (SAN, HV-Node, VM, (Applikation)), was so, ausser Ressourcen zu verschwenden, meistens nicht wirklich etwas bringt. 😔
Gruss Alex