Server Read Performance

nutsman

Ensign
Registriert
Sep. 2010
Beiträge
133
Hallo zusammen,
leider habe ich aktuell ein Performance Problem mit meinem Server der mit Windows Server 2019 Essentials läuft.
Verbaut ist ein 8 Port Supermicro AOC-S3108L-H8iR RAID Controller.
Treiber/Firmware und OS sind aktuell, wurden komplett neu aufgesetzt
Es sind 4 HDDs in 2 Arrays jeweils RAID1 angeschlossen.
Ein Array mit zwei WD 3TB und das andere mit zwei WD 10TB.
HDDs sind wie folgt über den Controller verteilt: Port1 - WD3TB // Port3 - WD10TB // Port5 - WD3TB // Port7 - WD10TB
Soweit so gut läuft alles zufriedenstellend. Performance auf dem Server ist ordentlich.
Beide Arrays liefern ab. Hier die Performace vom Array WD 3TB
2020-12-15_132853.jpg
Hier vom Array WD 10TB
2020-12-15_132950.jpg
Die 10TB sind new und machen ein tollen Speed.

Und jetzt kommt leider mein Problem. Der Write Speed für beide Arrays vom Client zum Server lastet das GBit's LAN komplett aus!!
Jedoch der Read Speed zeigt eine komische Performance.
File Copy vom Array mit 3TB ( Server -> Client ) ist in noch in Ordnung:
2020-12-15_131908.jpg

Wenn ich aber vom Array mit 10TB auf den Client einen File kopiere sieht es so aus:
2020-12-15_132353.jpg

Da scheint irgendwas nicht zu passen. Ich hätte gerade von den WD 10TB einen Top Speed über das Netzwerk erwartet, eigentlich
genau so wie es die 3 TBs machen. Ein Netzwerk Problem schliesse ich nach 2 Tagen Fehlersuche aus.
Ich habe nochmal die Config auf dem Controller überprüft. Ist identisch mit einem Unterschied.
Das Array mit 3TB hat eine Strip Size von 256KB und das 10TB hat 512KB.
Hat jemand eine Idee wo ich noch nach dem Problem suchen könnte ???
Warum ist nur die Read Performance über das Netzwerk vom Array mit 10TB so schlecht ??
Bin schon kurz davor das Array mit den beiden dicken Platten aufzulösen und neu mit kleinerer Strip Size aufzusetzen.......:pcangry:
 
Zuletzt bearbeitet:
Kannst du das bei anderen Clients auch nachstellen? Nicht, dass das Nadelöhr am Client und nicht am Server zu suchen ist.
 
@conf_t
ja, HTPC und mein Notebook ( Kabelgebunden getestet ) haben das gleiche Thema.
Netzwerk ist identisch zu vorher. Hatte einen alten WHS2011 ausgemustert und da war das GBit's LAN Read/Write komplett auslastbar.
Ich finde es halt sehr komisch da es mit dem kleinen Array geht und das Problem nur in Verbindung mit dem großen Array auftritt..... und dann auch nur in eine Richtung.
Entweder der Controller hat ein Problem mit den WD10TB oder es hängt vielleicht doch an der Strip Size :freak:
 
Welche WD Platten genau hast du denn? Die bieten ja verschiedene an.
 
Gibt es eine neuere Firmware für den Raid Controller?
macht der controller gescheited Offloading oder wird die CPU belastet?
Wie viel Cache hat der Controller? Welcher Cache Mode ist aktiv?
Welche HDDs sind genau verbaut?
Welches Dateisystem wird genutzt?
Über welches Protokoll wird übertragen?
 
Laufen irgendwelche Chkdsk Tests im Hintergrund? Sowohl vom OS als auch vom Controller bitte prüfen.
Werden die 10 TB HDDs auch als SATA3 erkannt oder ggf. nur SATA2 warum auch immer?
 
HDDs sind alles WD RED 2x WD30EFRX, 2x WD101EFAX.
Controller läuft sauber, hat 2 MB Cache
Ist ein komplettes Windows Netzwerk mit NTFS Filesystems und Win10 Clients und Win2019 Server Ess.
Freigaben mit Standard SMB auf Win10.
So sieht der Server aus wenn gerade knapp 1 Min das Problem nachgestellt wird.
Filecopy auf Client vom Array mit 10 TB.
Schaut auf die LAN Auslastung.
2020-12-15_145809.jpg


Und hier das ganze Spiel wenn ich von dem Array mit 3TB auf den Client kopiere:

2020-12-15_150221.jpg


Es laufen keine Hintergrund Prozesse. Alle HDDs werden mit 6Gbit's SATAIII erkannt.
Ergänzung ()

Die Unterschiede sind somit HDD Typ/Kapazität und die verwendete Strip Size auf den beiden Arrays.
Ansonsten gleicher Controller und Kabel/Wechselrahmen.
Ich vermute ein Thema zwischen den WD101EFAX und dem Supermicro AOC-S3108L-H8iR.
Anbindung zum Mainboard oder LAN Segment wird ja alles gemeinsam benutzt und Probleme gibt es nur mit einem RAID1 (10TB) Array. Alles sehr komisch.
Also wenn keiner noch eine Idee hat würde ich eine WD101EFAX auswerfen.
Neues Array damit anlegen. Daten spiegeln und dann das alte 10TB Array löschen und die verbleibende HDD dann dem neuen Array als RAID1 (Strip 256KB) hinzufügen. Für die Aktion bin ich dann zwar ohne Redundanz jedoch haben die HDDs erst ein paar Wochen auf dem Buckel.
 
Zuletzt bearbeitet:
Zweiter Teil meiner ersten Frage? Manche Hardware-Raid-Controller können in regelmäßigen Abständen ein Verify/Prüfung der Arrays vornehmen ob alles in Ordnung ist, vergleichbar mit einem Scrub unter ZFS. Das wirst aber nicht im OS sehen sondern wenn am/im Controller sofern dieser das kann und macht.

Ansonsten mal mit dem ProcessExplorer gucken ob und was so auf das Volume zugreift.
 
@snaxilian
nein, es läuft kein Background Process im Sinne von Petrol Read oder Verify habe ich alles schon in der Controller Software geprüft. Wenn ich die Tests mache finden keine anderen Read oder Writes auf dem Volumen statt außer meinem Filetransfer.
 
@madmax2010
Kabel sind neu. 2x 4xSATA auf SFF-8643.
HDDs werden mit DiskInfo überwacht und zeigen durchgehend SATA600 an.
Außerdem hätte ich sonst auch beim kopieren zwischen den beiden Arrays vom Controller langsame Übertragung. Da kopiere ich in beide Richtungen min. 130-160 MBs
 
Wenn du beim Kopieren zwischen beiden Arrays keine Probleme hast, dann ist es auch nicht die WD Platte wie vermutet. Sondern eher ein Problem mit der Netzwerlübertragung, sprich z.B. Probleme mit dem TCP Stack, oder der SMB Version usw. und da sind als Ursache die Endgeräte mit dabei.
 
Wäre jetzt auch meine Vermutung gewesen, aber da ja beide shares identisch eingerichtet sind macht das irgendwie auch keinen sinn
 
Wenn das Netzwerk oder der IP Stack ein Problem hätte dann müsste der Fehler mit beiden Arrays sichtbar sein.
Komischer Weise läuft es mit den RAID1 Array der beiden 3TB HDDs ohne Probleme und nur das RAID1 mit den beiden 10TB zeigt diese schlechte Read Performance :freak: .... die Gegenrichtung mit Write von Client auf Server hat wiederrum vollen Speed.

Naja, hab vorhin das 10TB Array zerrissen, und eine HDD entfernt. Damit jetzt ein neues Array als Single Disc
erstellt und Strip Size 256KB. Also identische Einstellungen wie das Array mit den 3TBs.
Jetzt prügel ich gerade vom degraded Array die Daten auf das Neue.
Filertransfer konstant zwischen 180-205 MB's :D kann sich sehen lassen. Mal abwarten ob es sich gelohnt hat....

PS. natürlich war die Aktion wieder nicht so einfach... ich musste im Controller BIOS erst den
Emergency Spare deaktivieren weil der Controller sofort nach Re-Initialisieren der entfernten HDD gleich ein Hot-Spare draus gemacht hat und ein Rebulid anfing :hammer_alt: .... also mit dem Server mache ich echt was durch :affe:
 
Was hat der Client den für Hardware? Wenn es der Laptop ist, hat er eine HDD oder SSD?
Die 2,5 Zoll Laufwerke machen so um die 50 MB Schreiben.... das kommt schon sehr nahe an dein Screenshot.
Das der Laptop dann schneller auf den RAID lesen kann ist auch logisch und erklärt die 1 Gbit.

P.S. wenn man sich den Controller ins Haus holt, dann bindet man den Server auch mit 4 Gbit oder mehr an den Switch an... ansonsten hätte es auch ein HBA für 30 Euro getan oder die interne Mainboard Lösung.
 
Mit dem alten Server hat es immer problemlos funktioniert das GBit LAN in beide Richtungen auszulasten.
Bei mir sind in allen Clients schon SSDs verbaut und der Server macht das Datengrab :D
Das verhalten auf dem Controller ist schon etwas seltsam. Mit dem einen Array alles ohne Probleme möglich
und das andere eiert beim Filetransfer rum.
Im Moment läuft das Rebuild auf dem 10TB Array ( noch ca. 3 Tage :freak: )
Wenn der Background Prozess durch ist werde ich wieder Testen ob das Neuaufsetzen vom Array etwas gebracht hat.

PS im Server steckt eine Intel Dual GBit Netwerkkarte und ist als Bundle mit 2 GBit's an den Switch angebunden.
Nächster Schritt wäre ein Wechsel auf 2,5Gbit LAN ( hat das neue Mainboard schon drauf ) jedoch sind die Switche mit passender Portdichte noch recht teuer ;)
 
Also deine Benchmarks sind nicht gut.
Lieber eine Festplatte mehr nehmen und RAID 5 machen, dann sollten bei 500-600 MB/sec liegen.
Hast du die beiden 1 GBit NICs als Link Aggregation? oder nur jeweils eine andere IP?
 
was meinst du mit nicht gut?
Sind halt reine RAID1 auf normale 5400rpm HDDs. Da ist eine Schreibrate von 150-180MB's ganz in Ordnung.
Die älteren 3TB HDDs sind von WD typisch mit 145MB's angegeben und die neueren 10TB sollten knapp 215MB's leisten wohl gemerkt als Single Disc. Da würde ich meine Benchmarks mit Diskmark als unauffällig ansehen. Um so unverständlicher ist der Zusammenbruch der Leserate zum Client mit nur einem Array.

Ja die Dual Intel NIC läuft mit statischen Link Aggregation zum Switch. Server 2019 stellt das Teaming bereit.
Somit ist der max. Speed zu einer Host IP auf 1 GBit's beschränkt. Das stört mich auch nicht sofern wenigstens die volle Übertragungsrate über die Schnittstelle anliegt.
Ich hatte auch schon mal testweise nur die Onboard 2,5G NIC betrieben um ein Fehler mit LA auszuschliesen.
Also disable der Intel Dual NIC und Kabel vom Onboard LAN zu anderem Switch Port.... Ergebnis
das identische Problem mit dem großen Array. Am Netzwerk kann es jedenfalls nicht liegen, da habe ich schon alles hin und her getauscht.
 
Ich versteh nicht was du mit dem Raid 1 willst. Ein Raid 5 ist deutlich schneller und vor allem pflegeleichter.
Eine HDD Defekt, neue rein, der RAID 5 bleibt intakt und fügt die neue HDD nahtlos ein.
Du kannst auch aus deinen insg. 4 Laufwerken ein 4 x 3 TB Raid 5 machen und den Raid 5 Speed testen.
Wenn du merkst das dieser super ist, kaufst du dann entweder eine weitere 3 TB festplatte oder eine weitere 10 TB Festplatte.... und dann hast du endlich mehr speed und die Sicherheit ein Laufwerksausfall kompensieren zu können.
 
Ich glaube es haben alle verstanden, dass du Raid 5 für die Lösung aller Probleme hälst aber vielleicht hat der TE Anforderungen, die wir nicht kennen, die zwei getrennte Arrays erfordern. Hilft halt nicht bei der Problemlösung. Zumal ein Raid 5 bei der Datenmenge statistisch betrachtet mutig ist, Stichwort URE falls das im Jahr 2020 noch nicht jeder gehört/gelesen hat...
Aber sei's drum ich bin mal gespannt was das 10 TB Array mit neuer Stripe Size dann an Werten abliefert.
 
  • Gefällt mir
Reaktionen: conf_t
Zurück
Oben