Gigabyte C246M WU4 - NVMEs erreichen nicht PCIe Gen3 4x


Recommended Posts

Ich baue gerade meinen ersten UNRAID Server auf und bin noch beim Erfahrungen sammeln mit der eingesezten Hardware (siehe Signatur).
System ist noch im Test-Betrieb, alle Daten liegen noch auf einer Synology DS918+.

Als einen meiner ersten Docker Container habe ich DiskSpeed installiert.

 

Hierbei habe ich festgestellt, das beide verbauten WB RED SN700 1TB sehr langsam sind:
grafik.png.0d352ec1e8e76e0aa58c49b5f076b951.png

grafik.png.7cc419d01aff98529e95f898e1de8990.png

Jeweils eine soll als Cache für Docker/VMs und Shares genutzt werden.

 

Erstmal kein Weltuntergang, da alles nur über 1GBit Netzwerk laufen wird und auch die Anzahl an VMs/Docker überschaubar bleiben wird.
Jedoch verwundert es mich, dass ich nur knapp über 1/3 der Lese- und SChreibgeschwindigkeit sehe, welche die WD NVME bringen sollen.

Eine über PCIe Riser verbaute Samsung NVME schafft ~3GByte/s im System.

grafik.png.e8660e011897e23ce1b007781b05f081.png

 

Im BIOS sind beide NVMEs auch sauber erkannt.

grafik.png.736110b673ea82d9e69d429a70865d76.png
Also FS hatte ich zunächst btrfs verschlüsselt genutzt, aber auch ein Wechsel zu btfrs und xfs hat keine Änderung gebracht.

Für Ideen zu einer möglichen Ursachen wäre ich dankbar.
Hardware oder Software?

 

Edited by Minion
Link to comment

@mgutt
MB wie in Signatur: Gigabyte C246M-WU4

System ist vor 4 Tagen zusammengesteckt worden und aus den Speedtests quasi nichts geschrieben.
NVMEs sind auch neu.
Firmware beide 111130WD

Ob dies die aktuelle ist, lässt sich aber so nicht googeln.
Und für das WD Tool fehlt mir gerade das Windows ;)

 

Update 1:
Trim gerade manuell durchgeführt. Leider keine Änderung danach.

Update 2:
Zu der SN750 (Black) finden sich bei der gleichen FW Berichte zu verlangsamtem Schreiben, wenn diese über den Chipsatz und nicht direkt am CPU angeschlossen sind.

Wird jedoch von AMD Chipsätzen gesprochen.

 

@hawihoney

Genau, alles in Byte/s.
Die Gbit oben sind in Gbyte gefixed.

Edited by Minion
Link to comment

Windows ist installiert, aber keine neuen Erkenntnisse über das "fantastische" Dashboard.

FW Update steht keines zur Verfügung.

 

CrystalDiskInfo

grafik.png.1a5e2b7bd763049fb518b4096883f248.png

 

hmm, jetzt wird es interessant.

CrystalDiskMark :

grafik.png.5dbfd4b87a6bb4cf1858ebb66f97b890.png

 

Liegt demnach wohl nicht an der Hardware.

 

Macht der Diskspeed Docker eventuell etwas nicht richtig?!

muss ich mich mal in Alternative Speedtest unter unRAID einlesen. 

 

Update1:
Kopieren von einer NVME zur anderen:

grafik.png.ea38f1b96e896351929457ff2ede8444.png

Das deckt sich mit den Ergebnissen vom Diskspeed Docker.

 

 

Edited by Minion
Link to comment

Damit sollte man auch beim Lesen den RAM Zugriff verhindern:

 

dd if=/mnt/cache_shares/10GB.bin of=/dev/null bs=128k iflag=nocache oflag=nocache

 

Das Problem ist, dass Linux nach dem ersten Lesen sonst nur noch aus dem RAM liest ;)

 

Mit einer sehr großen Datei umgehst du das teilweise, aber je nachdem reicht dann der SSD Cache nicht mehr und man hat wieder nicht das Ergebnis was man eigentlich haben wollte.

 

Wobei man den RAM Cache auch temporär verkleinern kann:

 

sysctl vm.dirty_ratio=1

 

Und nach dem Benchmark wieder auf normal:

 

sysctl vm.dirty_ratio=20

 

Aber irgendwie hilft das auch nicht so recht, wenn die Daten nur aus Nullen bestehen. Hatte gerade 10GB/s ohne nocache flag ^^

Link to comment

Genau, daher auch das RAR

grafik.png.d4e342d6567fff6014d6d4380e1e458e.png

Der Erste Durchlauf wäre ja eine Punktlandung.

 

Eine der NVMEs mal aus dem Cache raus und als unassigned device testen?

Update 1:
Hilft auch nicht

grafik.png.ece465aeabd43c3224c5538283f38b22.png

 

Update 2:

Habe die NVMEs durchgewechseln, so das einer der SN700 in dem externen Riser im PCIx16 steckt.

Diese ist nun mit ~2GB/s schneller - 1GB/s fehlt noch

grafik.png.f69d2116c9975be9bd6b9af64c2e1861.png

Die Samsung dafür nun langsamer

grafik.png.96d099bd0c909b1f6dce35ee6105e62a.png

 

Update 3:

Gerade einmal ohne Plugins gebootet.
Bringt leider auch keine Änderung: 1,5/1,6GB/s

Edited by Minion
Link to comment

Unter Windows geht es ja...

 

Und es ist nur ein microATX Board, da sind doch mehr als genug PCI-Lanes frei, zumal in den Slots aktuell nichts steckt.

Ich kann ja auch auf beiden NVMEs parallel testen, dann sind es auch jeweils ~1,5GB/s.

 

Hast du in deinem MB keine NVME verbaut?

 

Wundert mich auch, dass es sonst noch keiner beobachtet hat, das MB war/ist ja wohl recht beliebt.

Deinen Beitrag zu SATA habe ich auch schon gelesen, aber ist das nicht gerade der Witz an NVME, das die immer direkt über PCI-Lanes angeschlossen sind?

 

 

 

Edited by Minion
Link to comment
23 minutes ago, Minion said:

Deinen Beitrag zu SATA habe ich auch schon gelesen, aber ist das nicht gerade der Witz an NVME, das die immer direkt über PCI-Lanes angeschlossen sind?

PCIe ja, aber nicht an der CPU, sondern am PCIe Switch des Chipsatzes, der selbst nur mit ~4 GB/s angebunden ist. Die neuen Chipsätze sind schneller angebunden. 

 

Also auch in Windows geht es von einer Chipsatz NVMe zur anderen Chipsatz NVMe nicht mit Maximum.

Link to comment

Damit hätte ich jetzt nicht gerechnet…

Ich werde das in Windows heute Abend einmal testen. Das lässt mir jetzt keine Ruhe. 
 

Hast du zu dem Thema der internen Anbindung eine offizielle Doku gesehen?

Aus dem Manual geht sowas nicht hervor. 

Edited by Minion
Link to comment

In den oberen m.2 kann man auch eine SSD mit SATA Anschluss einbauen. 
 

Es ist häufig so, dass diese Doppelnutzung möglich ist. 
 

die Abbildung ist mir natürlich auch geläufig. Es stellt sich gerade die Frage, ob die 2x Gen3 x4 intern irgendwo durch einen „Flaschenhals“ laufen und somit begrenzt sind. 

Edited by Minion
Link to comment
7 minutes ago, Minion said:

Es stellt sich gerade die Frage, ob die 2x Gen3 x4 intern irgendwo durch einen „Flaschenhals“ laufen und somit begrenzt sind. 

Ere obere m2 slot ist direkt an die CPU angebunden und somit "unlimitiert"

Der untere läuft über den Chipsatz, der seinerseits nur mit x4 an die CPU angebunden ist und der ggfs noch USB, Netzwerk (LAN2) etc bereitstellt. Da kann eventuell ein Flaschenhals entstehen 

Link to comment

Vielen Dank für den guten Input!

Ich werde heute Abend mal aufmalen, wie aktuell alles angeschlossen ist und auch beide NVMEs unter Windows testen. 
 

Aktuell sehe ich ja an beiden NVME unter UNRAID Max. 1,6GB/s. Egal ob parallel oder einzeln getestet. 
 

USB ist nur der OS Stick dran. LAN Max die Verbindung zum GUI. Netzwerkshares und Co läuft noch nichts. Würde also auch an dem geteilten unteren MVME mehr erwarten. 
 

SATA 0 ist aktuell mit einer 12TB WD belegt. Dort wird aber auch nicht dauerhaft drauf geschrieben und wenn mit Max 0,25 GB/s, 
stecke ich heute Abend auch mal um. 

 

Update 1:
Beide NVME unter Windows. Alle anderen Geräte - SATA, USB  sind belegt wie zuvor auch.

 

Einzeln:

grafik.png.ccf10c83da17414679e01bb74e6acb19.png

 

Testlauf gleichzeitig:

grafik.png.49effefd996c31b3cf306624c07c8de6.png

 

16GB Datei von NVME zu NVME kopiert (beide Richtungen):

grafik.png.aa225d158acf95d9334cc504713c1d42.png

grafik.png.4d24c2ab6695a30b369301d9d7a0ca26.png

 

Demnach laufen wohl eher beide NVMEs über den selben Flaschenhals :(
Komisch ist nur, dass ich unter UNRAID nie über 1,6GB/s komme

 

Update 2:

 

Eine m.2 SSD in M2A deaktiviert übrigens SATA Port 1

grafik.png.b22e37c8b4a4d0e5765cd23f30431e2d.png

 

Update 3:

EIne Schematic für die Anbindung von CPU und Chip ist leider nirgends zu finden.
24 PCI-Lines soll der C246 haben.

 

16+4+4 würde also grundsätzlich passen.

Dafür das es jetzt aber so aussieht, als ob sich beide NVMEs einmal 4x PCIe teilen.
Ist schon ne komische Nummer.

Aus Manual/technischen Daten geht dies nicht hervor und es wird immer von PCIe Gen3 4x für jeden m.2 gesprochen.


Update 4:
Ich habe dann mal eine Anfrage bei Gigabyte eröffnet.

 

Edited by Minion
Link to comment
  • Minion changed the title to Gigabyte C246M WU4 - NVMEs erreichen nicht PCIe Gen3 4x
On 11/15/2022 at 10:49 AM, Minion said:

Eine m.2 SSD in M2A deaktiviert übrigens SATA Port 1

Nein, nur eine M.2 SATA SSD. Die wird ja wohl hoffentlich keiner kaufen 

 

On 11/15/2022 at 10:49 AM, Minion said:

als ob sich beide NVMEs einmal 4x PCIe teilen.
Ist schon ne komische Nummer.

Ich hatte doch geschrieben, dass der Chipsatz mit X4 angebunden ist und dass die NVMe wiederrum am Chipsatz hängen. Intel nennt das DMI:

https://en.wikipedia.org/wiki/Direct_Media_Interface

 

Ab den 6xx Chipsätzen ist es dann PCIe 4.0 und dadurch 8 GB/s total.

 

On 11/15/2022 at 10:49 AM, Minion said:

Komisch ist nur, dass ich unter UNRAID nie über 1,6GB/s komme

Das ist das einzige Problem, was du hast.

 

Ich vermute, dass dd nicht genug parallele Zugriffe generiert, um das Maximum aus der NVMe rauszuholen.

 

Auf die Art erreiche ich 2.2 GB/s:


 

# SSD trimmen
fstrim /mnt/cache

# ram cache auf 100MB reduzieren
sysctl vm.dirty_bytes=100000000

# Zufallsdatei im RAM erstellen (sehr langsam)
dd if=/dev/random of=/tmp/10GB.bin bs=128k iflag=count_bytes count=10G

# Datei von RAM auf SSD kopieren
dd if=/tmp/10GB.bin of=/mnt/cache/10GB.bin bs=1M

# Dateien löschen
rm /mnt/cache/10GB.bin /tmp/10GB.bin

# RAM Cache wieder auf 20% stellen
sysctl vm.dirty_ratio=20

 

Link to comment

Wobei ich so, also mit 8 parallen rsyncs auch wieder nur 8x 200 MB/s, also 1.6 GB/s erreiche:

 

for i in {1..8}; do rsync --progress /tmp/10GB.bin /mnt/cache/10GB$i.bin & done

 

🤷 

 

Vielleicht sollten wir mal mit Ubuntu booten und da die selben Befehle ausführen. Vielleicht ja doch ein Treiberproblem von Unraid.

Link to comment
1 hour ago, mgutt said:

Nein, nur eine M.2 SATA SSD. Die wird ja wohl hoffentlich keiner kaufen 

Etwas unglücklich ausgedrückt SSD = SATA meinte ich.

 

1 hour ago, mgutt said:

Ich hatte doch geschrieben, dass der Chipsatz mit X4 angebunden ist und dass die NVMe wiederrum am Chipsatz hängen. Intel nennt das DMI:

https://en.wikipedia.org/wiki/Direct_Media_Interface

 

Ab den 6xx Chipsätzen ist es dann PCIe 4.0 und dadurch 8 GB/s total.

 

Es gibt leider keine Schematics direkt von Gigabyte.

Es finden sich jedoch welche von anderen Systemen und die Anbindung zwischen Chipsatz und CPU muss ja überall gleich sein.

 

Wie du auch schon schreibst:

Ok, da kommen dann die ~4GB/s her

 

Warum den CPU–PCH link mit nur knapp 4 GB/s designed ist schon krass, selbst für 2018.

 

Schau mal in die Schematic von dem Supermicro Board.

  • Dort ist z.b. der PCIe 1x an PCHPE3 P8 anschlossen.
  • Jeweils 4 dieser Ports versorgen dort die m.2 Anschlüsse.
    • Würde nach der Logic ja zu PCIe 4x passen
  • Insgesamt sind 24 ports gelistet.

Ok, die Ports sind nur innerhalb vom Chipsatz... zur CPU hin es dann langsam...

 

Für den NAS-Betrieb, insbesondere an 1GB Ethernet-Anschlüssen jetzt kein Weltuntergang, es wurmt mich aber trotzdem ;)

Vorallem, das man die 4GB/s nicht wirklich ausgereizt bekommt.

 

Ganz schöne Augenwischerei bei der Spezifikation und Werbung für diese Boards!

 

Das ist ja fast so, als ob man ein Auto mit 200 km/h Spitze bewirbt, wenn es dann aber mit 4 Reifen fährt nur max 50km/h erreicht!

Sind ja 50km/h pro Reifen, also in Summe 200km/h 🤣

 

Werde damit dann erstmal leben ;)

Wieder was dazu gelernt!

 

1 hour ago, mgutt said:

Wobei ich so, also mit 8 parallen rsyncs auch wieder nur 8x 200 MB/s, also 1.6 GB/s erreiche:

Es ist auch beruhigend, dass du grundsätzlich zum selben Test-Ergebnis kommst.

 

 

grafik.png.073ee61f9bcfc3f9658c7130b07e75dd.png

 

grafik.png.4b6ee394445693fed4123c459c6628dc.png

Quote

We already covered that the PCIe x16 slots have 16 PCIe 3.0 lanes to use among the two of them. Beyond this, the PCIe 3.0 x4, both M.2, and U.2 slots all share PCIe lanes as described above. That means that using both M.2 slots limits your use of the U.2 and PCIe x4 slot. This array of opportunity gets its PCIe 3.0 lanes from the Intel C246 PCH. That means that the lanes have an additional DMI 8GT/s hop to reach the CPU.

https://www.servethehome.com/supermicro-x11sca-f-review-for-intel-xeon-e-2100-and-core-i3-8300/2/

grafik.png

Edited by Minion
Link to comment
33 minutes ago, Minion said:

Warum den CPU–PCH link mit nur knapp 4 GB/s designed ist schon krass, selbst für 2018.

Bereits beide Lan-Anschlüsse nutzen die Bandbreite zur Hälfte, mal ganz abgesehen von den ganzen USB 3.0, weiteren PCIe Ports und die 8x SATA Anschlüsse.

Jo, AMD hatte deutlich früher als Intel auf PCIe 4.0 beim Chipsatz gesetzt und könnte so früher 8GB/s.

 

Bei den ganz aktuellen CPUs hat man neben 2x X8 nun auch noch 1x X4 für eine NVMe. Dadurch also quasi 4 Lanes mehr. Aus dem Grund haben viele aktuelle Boards 3x M.2 (zwei davon dann über den Chipsatz).

 

33 minutes ago, Minion said:

Ganz schöne Augenwischerei bei der Spezifikation und Werbung für diese Boards!

Jo. Viele ATX Boards haben sogar Shared Slots. Zb PCIe X4 ist nicht mehr nutzbar, wenn ein bestimmter M.2 Slot belegt wird. Das war früher ganz "normal" und haben die wenigsten bemerkt, weil sie selten mehr als eine dGPU verbaut haben. Fand ich damals aber auch ziemlich frech. Wie gesagt heute aber zum Glück kein Thema mehr. Der Chipsatz erlaubt jetzt scheinbar auch eine deutlich umfangreichere Aufteilung. Die ganz neuen AMD Doppel-Chipsätze sogar noch viel mehr. Hilft uns nur jetzt natürlich nicht beim Heimserverbau.

 

Auch bin ich noch nicht so sicher, wie es mit PCIe 5.0 und Doppel-Chipsatz in Sachen Stromverbrauch so werden soll.

 

Hier das Blockdiagramm vom Z690:

https://forums.unraid.net/topic/130299-intel-kann-wieder-effizient-i5-13400-i5-13600-i5-13600k/?do=findComment&comment=1186003

 

Und hier ein gutes Beispiel warum selbst beim X670E dank zu vieler USB 3 Buchsen, nicht mal 8x SATA ohne weiteres möglich ist:

ASRock_X670E-Taichi-block-diagram.thumb.jpg.dbc6cd81151cefaef17120be8fefdade.jpg

 

  • Upvote 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.