matze1981
Goto Top

Performance: RAM-Disk auf Windows Server 2019 Std. langsam

Moin,
wir haben momentan ziemliche Performance-Probleme. Nun wollte ich mal probieren, die Datenbankanwendung auf eine RAM-Disk zu befördern.

Ausgangslage / Hardware:
XCP NG Host
Hardware:
HP DL 380 Gen. 8 V2
2x Xeon E5-2696v2
16 x 16 GB Ram
2 x HP 240 GB 6G SATA SSD als
Dazu noch 4 x 15k 400 GB SAS HDDs für OS und weiteren Storage

Wir haben eine VM, Windows Server 2019 Std. als RDS, mit 128 GB Ram, 16 vCores ausgestattet.

Nun haben wir Performanceprobleme mit einer auf DBase basierenden Datenbankanwendung (ich weiß, als DBase auf dem Markt kam gab es viele noch nicht einmal).

Zu Testzwecken habe ich nun einen RAMDrive eingerichtet und komme auf ähnlich schlechte Ergebnisse wie ein RAID 1 mit aktiviertem Pass-Through.

Das erste Foto zeigt unten die Testergebnisse des RAM-Drives, das zweite der SSD im RAID 1.

Es sieht so aus, als ob das OS irgendwie über die SSD swapt oder so. Was mache ich falsch?

Einrichtung per Powershell:
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\iSCSI Target' -Name AllowLoopBack -Value 1
New-IscsiVirtualDisk -Path "ramdisk:testRAM.vhdx" -Size 5GB
New-IscsiServerTarget -TargetName targetRAMDisk -InitiatorIds @("IPAddress:192.168.1.20")
Add-IscsiVirtualDiskTargetMapping -TargetName targetRAMDisk -DevicePath "ramdisk:testRAM.vhdx"
Get-IscsiTarget | Connect-IscsiTarget

Übersehe ich etwas?
bildschirmfoto 2020-12-23 um 20.33.56
bildschirmfoto 2020-12-22 um 17.52.27

Content-ID: 634867

Url: https://administrator.de/contentid/634867

Ausgedruckt am: 25.11.2024 um 11:11 Uhr

IntelOutside
IntelOutside 24.12.2020 aktualisiert um 05:36:41 Uhr
Goto Top
Hallo Matze

Ich musste erstmal googlen was XP GN überhaupt ist face-smile

Ich habe das nachgestellt in Windows 10 auf einer VM-Workstation 15. I9-9900, 4 Cores in der VM, 16 GB RAM.
Während der Test läuft , sehe ich keine Auslagerungsvorgänge im Ressourcenmonitor in der VM oder im Host , es läuft also alles im "Virtuellen Ram"
kann es sein , dass XP GN nicht sauber auf deiner Hardware läuft ?
ramdisk
StefanKittel
StefanKittel 24.12.2020 um 06:25:24 Uhr
Goto Top
Moin,

irgendwas stimmt mit Deinem System nicht.
Die Werte für die RAM-Disk sind zu niedrig.

Anbei Werte für meinen PC Intel i5-7500.
1

Stefan
cykes
cykes 24.12.2020 aktualisiert um 06:51:57 Uhr
Goto Top
Moin,
Zitat von @matze1981:
wir haben momentan ziemliche Performance-Probleme. Nun wollte ich mal probieren, die Datenbankanwendung auf eine RAM-Disk zu befördern.
Ob eine RAM-Disk dafür geeignet ist, die komplette Anwendung darauf laufen zu lassen, sei mal dahingestellt. Unterstützt die Anwendung das überhaupt, was passiert bei einem Neustart des Servers/VM?
Wir haben eine VM, Windows Server 2019 Std. als RDS, mit 128 GB Ram, 16 vCores ausgestattet.
Und darauf ist die komplette Anwendung installiert inkl. Datenbank? Kann man das ggf. trennen?
Nun haben wir Performanceprobleme mit einer auf DBase basierenden Datenbankanwendung (ich weiß, als DBase auf dem Markt kam gab es viele noch nicht einmal).
Welche Anwendung ist das genau (mir fällt nur ESRI ArcGIS ein, die noch produktiv DBase DBs verwenden), welche DBase Version und kann man das ggf. trennen (DBase auf einem separaten Server/VM laufen lassen)?
Unterstützt die Anwendung offiziell einen Terminalserver, bekommt man noch Support mit einer Installation auf einem RDS?
Zu Testzwecken habe ich nun einen RAMDrive eingerichtet und komme auf ähnlich schlechte Ergebnisse wie ein RAID 1 mit aktiviertem Pass-Through.
Ggf. wäre es deutlich hilfreicher, die SATA-SSDs gegen PCIe Enterprise SSDs zu tauschen, damit sollte es einen deutlichen Performanceschub geben und das Gebastel miut der RAMdisk wird vermieden.
Das erste Foto zeigt unten die Testergebnisse des RAM-Drives, das zweite der SSD im RAID 1.
Mir fällt als erstes auf, dass Bild 1 Testlauf mit 128 MiB und Bild 2 mit 1 GiB gelaufen ist.
Es sieht so aus, als ob das OS irgendwie über die SSD swapt oder so. Was mache ich falsch?
Denk nochmal über die Powershell-Zeilen ein wqenig nach, was wird da genau gemacht (Stichwort iSCSI und das auch noch in einer VM)?
Übersehe ich etwas?
Vermutlich, oder die Erwartungshaltung ist falsch face-wink

Gruß

cykes
GrueneSosseMitSpeck
GrueneSosseMitSpeck 24.12.2020 aktualisiert um 11:43:27 Uhr
Goto Top
nun nach heutigen Maßstäben komplett falsch gebaut.
VM mit 128 GB? Sowas macht man normalerweise nicht, Ramdisks auch nicht.
Solange alle VMs auf demselben Host laufen geht auch sämtliche Kommunikation rein über die vSwitches.

Ich hab ein ähnliches System zuhause stehen als Whitebox, 2x 2650v2 und der kann im Vergleich zu einem 2690v4 zu 95% mithalten, sprich der ist nicht wirklich langsamer trotz 16x16 GB ddr3 1066, ESX 6.7, die "größte" VM ist bei mir ein SAP Server mit 64 GB RAM und 16 reservierten Cores.

Um Stillstände beim Paging zu vermeiden bitte intern auf eine NVME Disk pagen - 3,6 GB / Sec geben genügend Wumms, wobei es gerade in dem oben geannten Test noch mal dramatische Unterschiede gibt. Weil ich ein wenig mit SAP mache und das extrem Datenbanklastig ist, hab ich mir dafür ein paar Benchmarks durchgeschaut und die Samsung Evo 970 1 TB genommen, da sie in allen oben geannnten Parametern Bestwerte liefert

Vergiß mal diese Ramdisk ganz schnell... spezeill auf VMs die nicht NUMA lokal sind hat man die Gefahr daß Speicher über die andere CPU angesprochen wird und das ist immer schlecht für die Performance. Also nicht 128 GB zuweisen aondern 8 oder 12 GB darinter face-smile
Penny.Cilin
Penny.Cilin 24.12.2020 um 10:45:19 Uhr
Goto Top
Zitat von @matze1981:

Moin,
Hallo,
wir haben momentan ziemliche Performance-Probleme. Nun wollte ich mal probieren, die Datenbankanwendung auf eine RAM-Disk zu befördern.

Ausgangslage / Hardware:
XCP NG Host
Hardware:
HP DL 380 Gen. 8 V2
2x Xeon E5-2696v2
16 x 16 GB Ram
2 x HP 240 GB 6G SATA SSD als
Dazu noch 4 x 15k 400 GB SAS HDDs für OS und weiteren Storage

Wir haben eine VM, Windows Server 2019 Std. als RDS, mit 128 GB Ram, 16 vCores ausgestattet.
Und hier liegt die Krux. Deine Hardware hat 2x Xeon Prozessoren. Du vergibst aber 16 vCores. Das kann schon mal nicht sauber funktionieren.
Über den Hypervisor lese ich nichts. Geschweige denn wieviel CPUs dieser nutzen soll.


Nun haben wir Performanceprobleme mit einer auf DBase basierenden Datenbankanwendung (ich weiß, als DBase auf dem Markt kam gab es viele noch nicht einmal).
Doch ich weiß es schon. Und Du weißt hoffntlich, daß dBASE eine DOS Anwendung ist. Und definitiv NICHT SMP fähig ist.

Übersehe ich etwas?
Ja, das System ist hoffnungslos überprovisioniert. Bei Virtualisierung gilt immer:
Soviel wie möglich und so wenig wie nötig.

Gruss Penny.
GrueneSosseMitSpeck
GrueneSosseMitSpeck 24.12.2020 aktualisiert um 11:21:30 Uhr
Goto Top
p.s. kann mir mal einer erklären wie genau diese Ramdisk zustande kommt?
Dieser Anleitung zufolge macht man einen Windows Server zum ISCSI Server und Target gleichzeitig, das ist ALLES ANDERE ALS EINE RAMDISK

http://woshub.com/create-ram-disk-windows-server/

und genau das macht der TO. Man hat den ganzen iSCSI Protokollgeraffel dazwischen, totaler Unsinn wenn man mich so fragt.
Dann noch über eine IP Addresse im LAN... meine Güte. für sowas hat der liebe Gott am 8. Tag der Schöpfung den Loopbackadapter erfunden. Denn nimmt man dafür wenn Quelle und Ziel in der selben VM sind.

Windows cacht eigentlich aus eigenem Antrieb alles, das ist schon seit Urzeiten so, die erste und einzige Ramdisk die es je gab war für NT und Windows 2000, und hatte maximal 128 MB und irgendwo hatte ich mal ein Paper vor mehr als 25 Jahren ausgegraben, das sich mit dem Cache des NT 4 beschäftigt und daß der schlenner und effektiver ist als alle Ramdisks


Ich sach mal bei solchen Werten auf einer NVME würde ich nicht ernsthaft über eine Ramdisk nachdenken

win2019vm auf nvme

Für das Thema Ramdisk hat eigentlich zur zu Dos-Zeiten mal viel gebracht, damals auch schon mit Dbase, Paradox und Clipper wenn man dann die EMM Karte hatte die einem ein paar MB MB in den Rechner zauberte der von Haus aus nur 640 KB Speicher addressieren konnte.
GrueneSosseMitSpeck
GrueneSosseMitSpeck 24.12.2020 aktualisiert um 11:30:31 Uhr
Goto Top
Zitat von @Penny.Cilin:

Zitat von @matze1981:


Übersehe ich etwas?

ja einiges.

-> da werden offenbar IP Addressen aus dem LAN verwendet. Wenn client-server auf einem einzigen physischen Host dann bitte einen iSCSI Server separat bauen, und wenn dann bitte über einen vSwitch der host-only ist (jedenfalls nennt man das in der VMware Welt so). Und wo wir schon dabei sind, auf VMware den VMXNET3 Adapter nehmen, und wenn Konnektivität über physische Netzwerkinterfaces ins Spiel okmmen SRIO-V

-> es gibt für Nischenanwendungen (und dBase ist meiner Ansicht nach eine) third Party Produkte, die das alte Ramdrive.sys Prinzip (eine echte Laufwerksemulation im RAM) realisieren, hier hat man dann die ganzen Latenzen des iSCSI Protokolls eingespart.

https://www.ghacks.net/2017/04/03/the-best-free-ramdisk-programs-for-win ...


Ja, das System ist hoffnungslos überprovisioniert. Bei Virtualisierung gilt immer:
Soviel wie möglich und so wenig wie nötig.

Gruss Penny.
GrueneSosseMitSpeck
GrueneSosseMitSpeck 24.12.2020 aktualisiert um 11:52:39 Uhr
Goto Top
hier noch mal das IMDisk von dem Link (da sind 7 oder 8 Tools beschrieben)... kost nix und die Performance wär ok face-smile
imdisk
Mehr ist auf DDR3 kaum rauszuholen, die Stärken von RAM sind eher die Ramdom Zugriffe. StefanKittel hatte das wohl lokal auf einer physischen Intel-Platform probiert, da fällt der Hypervisor weg auch hat er wohl DDR4 drin was noch mal einen großen Unterschied machen kann,

Der TO hat einen Xeon 2696v2 sprich also auch DDR3, max ist glaub ich DDR3-1600 und da sind (virtualisiert) nun mal irgendwann die Grenzen der Leistungsfähigkeit erreicht. Wer Lust hat kann auch die anderen Tools noch durchprobieren, aber es haben sich im allgemeinen physische Devices durchgesetzt wie die Intel Optane Disk bzw Optane Memory Karten - nichtflüchtig und mit PCIE 16x (NVME kann nur 4 PCIE Lanes) dann noch mal die vierfache NVME Performance face-smile von rechnerisch 14 GB/Sekunde in der neuesten Generation und als SLC Ausführung. Kost aber auch vierstellig... Millionen von IOPS und natürlich unzerstörbar und mit fümfstelligen Resultaten bei ALLEN Crystaldisk Benchmarks
cykes
cykes 24.12.2020 aktualisiert um 11:51:33 Uhr
Goto Top
Zitat von @Penny.Cilin:
Zitat von @matze1981:
Ausgangslage / Hardware:
XCP NG Host
[...]
Über den Hypervisor lese ich nichts. [...]
Doch steht da (Hervorhebung durch mich): XenServer Based, Community Powered (XCP-ng), vgl. https://xcp-ng.org/
Nun haben wir Performanceprobleme mit einer auf DBase basierenden Datenbankanwendung (ich weiß, als DBase auf dem Markt kam gab es viele noch nicht einmal).
Doch ich weiß es schon. Und Du weißt hoffntlich, daß dBASE eine DOS Anwendung ist. Und definitiv NICHT SMP fähig ist.
Es gab schon ein paar kleinere Weiterentwicklungen von dBase (vgl. https://de.wikipedia.org/wiki/DBASE), bleibt aber dennoch u.a. die Frage, ob die Anwendung/Datenbank offiziell terminalserverfähig ist und 64bit kompatibel.

Gruß

cykes
117471
117471 24.12.2020 um 13:14:16 Uhr
Goto Top
Hallo,

XCP-NG ist schon ein ziemlich geiles Teil. Das scheint so eine Art Nachfolger / Fork / OpenSource-Derivat vom Xen Hypervisor zu sein. Das Einzige, was etwas nervt ist die Administration:
  • native Windows-Anwendung
  • (kostenpflichtiger) Online-Dienst
  • eingeschränkte, fertig gebaute (kostenlose) Appliance mit Xen Orchestra
  • selbstgebaute Appliance mit Xen Orchestra

Jede Möglichkeit ist für mich "irgendwie" mit einem Kompromiss verbunden, den ich nicht haben wollte so dass ich mich letztendlich für Proxmox entschieden habe.

Zum Thema: Ich würde mir in dem Fall tatsächlich (erst) einmal die Mühe machen, das Hostsystem zu begutachten. Also z.B. die Lese- und Schreibleistung in Richtung RAM.

Gruß,
Jörg
GrueneSosseMitSpeck
GrueneSosseMitSpeck 24.12.2020 um 15:15:57 Uhr
Goto Top
wenn ich auf fast identischer Hardware doppelt so gut wie der TO beim sequenziellen Lesen bin und 15-20x schneller beim sequenziellen Schreiben, dann hab ich mal ganz stark das Bios im Verdacht oder den Hypervisor. , z.B. IOMMU abgestellt, NX-Flag aktiviert oder so, oder am allerschlimmsten: VT deaktiviert falls das überhaupt noch geht. Oder jener Hypervisor ist einfach schlecht bei der Memory Performance.

Hab aber aktuell keine Muße das durchzuspielen, die Gans liegt im Backofen und ein paar Geschenke müssen noch eingepackt werden, die Frau schläfert gerade das Baby ein, der Baum ist noch nicht ganz fertiggeschmückt face-smile
tannenbaum
117471
117471 24.12.2020 um 15:20:16 Uhr
Goto Top
Hallo,

schicker Baum! face-smile So etwas gibt es bei uns leider nicht. Hätten wir einen, könntest Du den dank Hündin und Kater nach 2 Minuten durch ein Küchensieb kippen^^

Gruß,
Jörg
StefanKittel
StefanKittel 24.12.2020 um 15:35:32 Uhr
Goto Top
Zitat von @117471:
schicker Baum! face-smile So etwas gibt es bei uns leider nicht. Hätten wir einen, könntest Du den dank Hündin und Kater nach 2 Minuten durch ein Küchensieb kippen^^
Deshalb ist über unserem Baun in der Decke ein Haken.
Ein kurzes Seil an Haken und Baum und fertig.

Stefan
certifiedit.net
certifiedit.net 24.12.2020 um 16:46:27 Uhr
Goto Top
Zitat von @StefanKittel:

Deshalb ist über unserem Baun in der Decke ein Haken.
Ein kurzes Seil an Haken und Baum und fertig.

Stefan

Wenn du den Beitrag komplett für sich alleine stehend ließt, denkst du dir auch, da will sich einer aufhängen. face-smile

Tippe auf Basissystem falsch konfiguriert oder VMs irgendwo falsch gesetzt. Erst gerade ein solches System flott gemacht (da hatte die HW aber zu dem einen multiplen Schuss). Je nach dem würd ich mittlerweile aber auf All Flash (SSD) gehen.

Grüße,

Christian
certifiedit.net
keine-ahnung
keine-ahnung 24.12.2020 um 16:57:50 Uhr
Goto Top
@GrueneSosseMitSpeck

Da fällt mir doch glatt der Text eines alten Lidl's ein:

Oh Tannenbaum, oh Tannenbaum,
wie immergrün Dein Ast ist.
Wie sauber glänzt der Gabentisch,
Du nadelst nicht, bleibst immer frisch.
Gesteh dass Du aus Plast bist!

Schönes Fest ...
GrueneSosseMitSpeck
GrueneSosseMitSpeck 24.12.2020 um 20:54:31 Uhr
Goto Top
Zitat von @certifiedit.net:

Zitat von @StefanKittel:

Deshalb ist über unserem Baun in der Decke ein Haken.
Ein kurzes Seil an Haken und Baum und fertig.

Stefan

Wenn du den Beitrag komplett für sich alleine stehend ließt, denkst du dir auch, da will sich einer aufhängen. face-smile

Tippe auf Basissystem falsch konfiguriert oder VMs irgendwo falsch gesetzt. Erst gerade ein solches System flott gemacht (da hatte die HW aber zu dem einen multiplen Schuss). Je nach dem würd ich mittlerweile aber auf All Flash (SSD) gehen.

Grüße,

Christian
certifiedit.net

Auf alle Fälle ist da Luft nach oben .-) Wie immer man das auch vestehen mag.