SMB Leistung Mangelhaft


Nils Arnold

Recommended Posts

  • 11 months later...

Leider ist das Problem auch nach dem tausch der Intel Karte vorhanden. Jedes andere NAS System packt mit meiner Maschine locker die 10G, nur Unraid bekommt es einfach nicht hin. Scheint ja ein größeres Problem zu sein.

SMB Multichannel ist an.

Was kann man denn sonst noch machen. 

 

PS: mit einem Ryzen 7 2700 sollte sowas kein Problem sein. Sollte es doch ist eher das System ein Problem

Link to comment
40 minutes ago, mgutt said:

RSS auch ? Auf dem Windows Client verifiziert? Was sagt htop während einem Transfer?

 

Wie Prüfe ich ob RSS an ist? Sollte RSS nicht von Haus aus an sein? sollte ein System für einen NAS nicht ohne größere einstellungen mit diesen Funktionen wie Multichannel oder RSS betrieben werden?

Nein auf dem Windows Client wurde nicht verifiziert. Warum sollte ich das tun? die erwartung ist klar die das ein NAS system solche Spielereien von Haus aus mitbringt. Aber ich teste es gerne, sollte es nicht von Haus aus erkannt werden.

 

HTOP: Wenn ich das richtige sehe gehen alle 8 Kerne/16 threads gleichmässig nachoben

HTOP.thumb.png.a12d6cf8765a61e9e7985c1cf4ebec08.png

 

Übertragen werden ~ 600 MB/s in den Ram. Wenn ich in Globale Freigabeeinstellungen Freigaben aktivieren: JA mache habe ich Sofort 1,15 GB/s

Ohne etwas an einem Windows Client o.ä zu ändern. 

Link to comment
33 minutes ago, Nils Arnold said:

sollte ein System für einen NAS nicht ohne größere einstellungen mit diesen Funktionen wie Multichannel oder RSS betrieben werden?

Multichannel wurde erst Ende letzten Jahres stabil:

https://wiki.samba.org/index.php/Samba_4.15_Features_added/changed#.22server_multi_channel_support.22_no_longer_experimental

 

Also nein, kannst du nicht erwarten. RSS brauchte außerdem eine spezielle Interface option. Ist hier beschrieben, auch wie man es testet:

https://forums.unraid.net/topic/97165-smb-performance-tuning/

 

SMB3 und damit Multichannel sind übrigens Erweiterungen von Microsoft, die in Linux erstmal nachprogrammiert werden mussten.

 

Übrigens ist RSS bei HDDs langsamer (pro CPU Kern ein paralleler Schreibzugriff), weshalb es sicher noch lange nicht standardmäßig aktiv sein wird.

Link to comment
3 minutes ago, mgutt said:

Multichannel wurde erst Ende letzten Jahres stabil:

https://wiki.samba.org/index.php/Samba_4.15_Features_added/changed#.22server_multi_channel_support.22_no_longer_experimental

 

Also nein, kannst du nicht erwarten. RSS brauchte außerdem eine spezielle Interface option. Ist hier beschrieben, auch wie man es testet:

https://forums.unraid.net/topic/97165-smb-performance-tuning/

 

SMB3 und damit Multichannel sind übrigens Erweiterungen von Microsoft, die in Linux erstmal nachprogrammiert werden mussten.

 

Übrigens ist RSS bei HDDs langsamer (pro CPU Kern ein paralleler Schreibzugriff), weshalb es sicher noch lange nicht standardmäßig aktiv sein wird.

Ok, Das Multichannel ist in funktion. Die CPU scheint kein Problem damit zu haben. auch unter windows ist das Aktiv genau so wie RSS.

Ok, bei HDDs mag das so sein, ich habe aber das Problem das es hier um den Ram oder M2 SSDs als Cache geht die Locker 3500 MB/s Schreiben können. Nebenbei wäre es noch schön wenn mir jemand erklären könnte warum eine Synology mit einem Atom CPU C3558 mal eben 600 - 700 MB/s Schreiben kann ohne zu basteln (RSS + Multichannel). Das ganze ist auch ein Linux System, das auch nur mit SMB Arbeitet. Was macht denn Unraid hier so Falsch? es ist doch ein NAS System?! Man muss dich damit rechnen das Nutzen die dieses System kaufen genau sowas machen wollen?!

 

Da die CPU/ Das Netzwerk ( der Switch,Client,Unraid Server )/ Der Client/ und der Ram nicht der Flaschenhals sind. Was ist es denn sonst? 

Da die CPU sich bei der übertragung langweilt genau wie die CPU des Clients würde mir RSS vermutlich nicht viel bringen?

Link to comment
1 hour ago, Nils Arnold said:

Was macht denn Unraid hier so Falsch?

Nichts denn andere User (auch ich) schaff(t)en über SMB die gewünschte Datenrate (habe derzeit keine 10g Karte mehr verbaut).

1 hour ago, Nils Arnold said:

Nebenbei wäre es noch schön wenn mir jemand erklären könnte warum eine Synology mit einem Atom CPU C3558 mal eben 600 - 700 MB/s Schreiben kann ohne zu basteln

Synology ist mehr oder weniger ein geschlossenes Ökosystem, natürlich ist da alles so gut wie möglich vorkonfiguriert. Warum kann ein Mac mit "normaler" X86 Hardware Dinge schneller als ein Windows System?

Das wird man bei einem so offenen System wir UNRAID es ist nur durch selbst Hand anlegen wirklich hinbekommen. Wobei ich die 700-800mb auch ohne weitere Anpassungen geschafft habe.

Link to comment
7 hours ago, jj1987 said:

Nichts denn andere User (auch ich) schaff(t)en über SMB die gewünschte Datenrate (habe derzeit keine 10g Karte mehr verbaut).

Synology ist mehr oder weniger ein geschlossenes Ökosystem, natürlich ist da alles so gut wie möglich vorkonfiguriert. Warum kann ein Mac mit "normaler" X86 Hardware Dinge schneller als ein Windows System?

Das wird man bei einem so offenen System wir UNRAID es ist nur durch selbst Hand anlegen wirklich hinbekommen. Wobei ich die 700-800mb auch ohne weitere Anpassungen geschafft habe.

 

Die Rate wird mit meinem System nicht erreicht. Es liegt aber sicher nicht an der Leistung des Systems.

Die Infos was ihr da alle gemacht habt würde mir an sich schon reichen. Die vorschläge von Mgutt habe ich nun alle durch und keinen Erfolg gehabt.

 

Wenn ich Truenas Scale auf die Kiste werfe macht die mir auch 3 Gb/s. Auch dieses System ist relativ offen. Nicht so offen wie Unraid, aber man kann damit auch viel machen. Nebenbei Kostet Unraid Geld, man kann also auch hier erwarten das es so gut wie möglich vorkonfiguriert ist, und wenn nicht gehört eine Aleitung die auch funktioniert auf die Seite.

 

Deine CPU ist Pro Core nur minimal Stärker als meine. Muss ich denn wirklich einen Ryzen 7 5800X Kaufen um zu Prüfen ob es an der Leistung liegt? Was genau macht Unraid denn mit so viel Leistung? 

 

 

Link to comment
8 minutes ago, Nils Arnold said:

Muss ich denn wirklich einen Ryzen 7 5800X Kaufen um zu Prüfen ob es an der Leistung liegt?

also, was ich dazu sagen kann, ich hatte auch mal 10G im Betrieb, gestartet 2017 ... ich meine da war noch i7 8700 oder so aktiv und ich hatte volle 10G anliegen, ja, das hatte schon CPU gekostet, aber jetzt nicht Anschlag ... ;)

 

zu deiner Problematik, ich hab jetzt nicht alles verfolgt, immer davon ausgehend beide Seiten (Sender, Empfänger) laufen auf entsprechend schnellen Platten (nvme), sollte das "schmerzfrei" funktionieren ... was hier mal zum Problem wurde, mit einem update hatte ich auch massive upload Einbrüche seitens Unraid (es war der Linux Kernel), am Ende lag es an den TX, RX Einstellungen ... weiß jetzt aber nicht mehr genau was es genau war da ich mich von 10G verabschiedet habe und mir die onboard 2.5 ausreichen ...

 

image.thumb.png.701c2dd3ffc46587bb6c5fd80019dec4.png

ich weiß nur noch ich musste hier einiges umstellen da Default nicht mehr funktionierte ... sogar ein Setting manuell auf den default Wert setzen, vielleicht ein Ansatz

Link to comment
10 hours ago, Nils Arnold said:

HTOP: Wenn ich das richtige sehe gehen alle 8 Kerne/16 threads gleichmässig nachoben

CPUs lassen Prozesse im Millisekundentakt von Kern zu Kern wechseln. Daher ergibt sich manchmal ein unrealistisches Bild, bei der Lastanzeige pro Kern. Aber die Auslastung der Prozesse selbst ist verbindlich. Und da hast du 54% bei SMB und 44% bei SHFS. Demnach:

- Multichannel/RSS funktioniert nicht (weil nur ein SMB Prozess)

- du nutzt einen User Share als Ziel und keinen Disk Share (daher der SHFS Prozess)

 

Eventuell könntest du die Leistung noch steigern, in dem du im BIOS Hyperthreading deaktivierst, denn du könntest das Pech haben, dass SMB und SHFS auf einem Kern/HT Paar laufen.

 

9 hours ago, Nils Arnold said:

Was macht denn Unraid hier so Falsch?

unRAID schaltet vor das Array einen Cache Pool, während der User davon nichts mitbekommt und in einem Share die Dateien aus Array und Pool zusammen in einem Ordner sieht. Damit das geht, muss dem Betriebssystem ein virtuelles Dateisystem vorgegaukelt werden. Dieses benötigt extra Prozesse (SHFS), welche ohne Multichannel bei 10G zusammen mit dem SMB Prozess einen CPU Kern ans Limit bringen können. Muss aber nicht, hast du ja bei anderen Usern gesehen.

 

Bei Syno hat man dafür den Nachteil, dass ein SSD Cache nur den Stromverbrauch erhöht, statt ihn zu senken, weil die HDDs immer mitlaufen müssen. Nach meinen Tests bringen sie dazu eine erhöhte Lautstärke mit sich, weil der Kopf auf den HDDs wie bekloppt springt, weil niemals komplette Dateien im Cache liegen und auch ständig rausfliegen und der Durchsatz wird auch nur marginal erhöht. Auch killt man sich damit in relariv kurzer Zeit durch massig TBW die NVMe oder braucht ein teures Modell mit extra hohem TBW Wert. Dazu kommt, dass Syno in letzter Zeit auf miese AMD CPUs ohne iGPU setzt und daher für die meisten eh keine Alternative mehr ist.

 

So hat jedes NAS seine Eigenheiten.

 

Mögliche Lösungen:

- Intel System mit Mellanox

- SMB Multichannel+RSS

- Disk Shares nutzen

- benutzerdefinierte Shares mit /mnt/cache/sharename als Ziel über die smb-extra.conf erstellen 

 

Link to comment
3 hours ago, Nils Arnold said:

Die Infos was ihr da alle gemacht habt würde mir an sich schon reichen

Tatsächlich nichts weiter. Ich hatte noch RSS versucht, das will aber der UNRAID Mellanox Treiber offenbar nicht. In Windows geht's...

Weshalb ich jetzt auch einfach Mal unterstelle das es bei dir ein ähnliches "Fehlerbild" sein wird. TrueNAS verwendet neuere/ältere (=andere) Treiber die in dem konkreten Fall offenbar besser zusammen harmonieren. Das ist halt die Zwickmühle bei offenen Systemen mit Fantastilliarden verschiedenen möglichen Kombinationen.

Du könntest jetzt versuchen herauszufinden, welche Treiber in welcher Version von TrueNAS genutzt werden und das mit UNRAID abgleichen. Wie man das allerdings genau macht kann ich dir leider nicht sagen, bin da auch eher ein Linux Greenhorn 

Link to comment
9 hours ago, mgutt said:

CPUs lassen Prozesse im Millisekundentakt von Kern zu Kern wechseln. Daher ergibt sich manchmal ein unrealistisches Bild, bei der Lastanzeige pro Kern. Aber die Auslastung der Prozesse selbst ist verbindlich. Und da hast du 54% bei SMB und 44% bei SHFS. Demnach:

- Multichannel/RSS funktioniert nicht (weil nur ein SMB Prozess)

- du nutzt einen User Share als Ziel und keinen Disk Share (daher der SHFS Prozess)

 

Eventuell könntest du die Leistung noch steigern, in dem du im BIOS Hyperthreading deaktivierst, denn du könntest das Pech haben, dass SMB und SHFS auf einem Kern/HT Paar laufen.

 

unRAID schaltet vor das Array einen Cache Pool, während der User davon nichts mitbekommt und in einem Share die Dateien aus Array und Pool zusammen in einem Ordner sieht. Damit das geht, muss dem Betriebssystem ein virtuelles Dateisystem vorgegaukelt werden. Dieses benötigt extra Prozesse (SHFS), welche ohne Multichannel bei 10G zusammen mit dem SMB Prozess einen CPU Kern ans Limit bringen können. Muss aber nicht, hast du ja bei anderen Usern gesehen.

 

Bei Syno hat man dafür den Nachteil, dass ein SSD Cache nur den Stromverbrauch erhöht, statt ihn zu senken, weil die HDDs immer mitlaufen müssen. Nach meinen Tests bringen sie dazu eine erhöhte Lautstärke mit sich, weil der Kopf auf den HDDs wie bekloppt springt, weil niemals komplette Dateien im Cache liegen und auch ständig rausfliegen und der Durchsatz wird auch nur marginal erhöht. Auch killt man sich damit in relariv kurzer Zeit durch massig TBW die NVMe oder braucht ein teures Modell mit extra hohem TBW Wert. Dazu kommt, dass Syno in letzter Zeit auf miese AMD CPUs ohne iGPU setzt und daher für die meisten eh keine Alternative mehr ist.

 

So hat jedes NAS seine Eigenheiten.

 

Mögliche Lösungen:

- Intel System mit Mellanox

- SMB Multichannel+RSS

- Disk Shares nutzen

- benutzerdefinierte Shares mit /mnt/cache/sharename als Ziel über die smb-extra.conf erstellen 

 

 

Danke für Infos. Ich Nutze erstmal Disk Shares bis der Ryzen 7 5800x hier ist, damit schau ich dann mal ob ein Kern genug leistung hat um zumindest mal 900mb/s mit diesem SHFS Prozess zu schaufeln. Ich Persönlich störe mich sehr an dieser Geschichte. Gibt es aussicht auf eine verbesserung?

Link to comment
19 minutes ago, Nils Arnold said:

Gibt es aussicht auf eine verbesserung?

Unwahrscheinlich, da SMB von Haus aus kein Multithreading kann. Ich denke unRAID wird wenn überhaupt irgendwenn automatisch Multichannel+RSS aktivieren. 

 

Wie schaut denn deine SMB config aus? Vielleicht bekommen wir das ja mit RSS noch hin.

Link to comment
On 8/10/2022 at 6:30 PM, mgutt said:

Unwahrscheinlich, da SMB von Haus aus kein Multithreading kann. Ich denke unRAID wird wenn überhaupt irgendwenn automatisch Multichannel+RSS aktivieren. 

 

Wie schaut denn deine SMB config aus? Vielleicht bekommen wir das ja mit RSS noch hin.

Danke!

Aber der R7 5800X ist verbaut und bekommt tatsächlich um die 1000Mb/s hin

  • Like 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.