unRAID-Tower Posted October 28, 2022 Share Posted October 28, 2022 Guten Morgen, das Thema gibt es sicher schon des öfteren, aber leider finde ich nichts passendes als Lösung. Ich habe eine Lenovo Workstation mit 16GB RAM und Intel i7 6700 3,4GHz zudem hab ich eine 2,5GB NIC eingebaut die direkt mit meinem Mac verbunden ist (TS4 von Caldigit hat 2,4GBit) Hab unRAID gerade wieder mal neu installiert und bekomme extrem schlechte SMB Performance mit Cache / ohne Cache und weiß nicht mehr weiter. Hab mir aus der Verzweiflung heraus ein Asustor 6700 6Bay NAS gekauft und da bekomme ich out of the BOX 260MBs bei Unraid 3MBs bzw. max. hab ich 35MBs geschafft. Turbowrite hab ich installiert / deconstructive write ist ein Jumbo Frames auf 9000 Aber irgendwie bringt das alles nichts. Habt ihr da vielleicht noch Tips für mich? Ich meine der PC sollte doch mehr Durchsatz schaffen... Ich würde das NAS gerne zurück schicken und wieder voll auf unRAID setzen, da mir die Möglichkeiten da mehr gefallen allerdings würde ich die 2,5GBit schon gerne ausreizen wollen. Ich fotografiere und möchte meine Daten da ablegen bzw. auch davon "arbeiten". Da reicht 2,5GBit Ich bin ziemlich ratlos... Quote Link to comment
MAM59 Posted October 28, 2022 Share Posted October 28, 2022 (edited) Ursachen kann es viele geben, diese 2,5Gbe Ports sind ja eigentlich nur Ausschussware (sollten mal 10Gbe werden, haben es aber nicht geschafft). Deine bösen Pausen lassen vermuten, dass da was mit der Flow Control nicht stimmt. Wie gesagt, eigentlich ist das 10Gbe, nur wird die Leitung nur mit 1*daten+3*Pause belegt um die Kabel zu schonen. Damit das Ganze nicht aus dem Tritt kommt (bzw. jemand den anderen überrennen kann) werden Start/Stopp Pakete hinzugefügt. Wenn die verloren gehen / ignoriert werden / sonstigerweise nicht ankommen, dann pumpt die eine Seite die Leitung voll, die andere empfängt nix und da die Quittungen ausbleiben, werden die Pakete nach einem Timeout wiederholt. Und wenn das dauernd vorkommt, dann sinkt der Nettodurchsatz unter das Level einer 1Gbe Verbindung, so zwischen 30 und 60Mb/s sind dann noch drin maximal. ALLE Komponenten der Verbindung müssen da mitspielen, also auch irgendwelche Switche oder Docking Stationen. Es ist manchmal schwer an verlässliche Daten bezüglich der Einstellungen zu kommen. Üblicherweise gibt der Switch die Einstellung vor und die angeschlossenen Rechner passen sich automatisch an. Du hast aber keinen Switch, deshalb weis ich nicht, wo bei Dir der "Master" sein sollte. Also such mal beim Mac. Bei Unraid ist es normalerweise an, aber zur Sicherheit installier noch das Plugin "Tipps&Tweaks", da wird der Punkt an erster Stelle aufgeführt, allerdings negativ ("NIC Flow Control deaktivieren?" muss auf NEIN stehen). Deshalb vermute ich den Mac als Fehlerquelle. (UNRAID spielt auch mit aktivierter Flow Control nicht Master, es sendet dann nur solche Pakete und reagiert darauf. Die Gegenstelle muß das auch tun, sonst fährts gegen die Wand) Ich hab keine Ahnung von Macs, also diesbezügliche Rückfragen sinnlos. Edited October 28, 2022 by MAM59 Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 (edited) danke für deine schnelle und ausführliche Antwort... Am Mac wird es wohl nicht liegen, da es über das NAS in voller Geschwindigkeit geht. Bei unRAID sollte es doch, wenn ich cache auswähle auch mit der selben Geschwindigkeit gehen. Bzw. mir ist schon bewußt, dass unRAID normalerweise nur direkt auf die HDU schreibt und dann langsamer ist, aber mit Cache müsste dass doch passen (ist halt nur 2.5' SSD) Ich meine wenn ich "nur" auf 200MBit kommen würde, wäre das ja voll ok - aber 2,8 - 30MBs ist schon nicht so toll Edited October 28, 2022 by unRAID-Tower Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 ich hab auch keine Paritätsfestplatte aktiv.... Quote Link to comment
MAM59 Posted October 28, 2022 Share Posted October 28, 2022 51 minutes ago, unRAID-Tower said: Am Mac wird es wohl nicht liegen, da es über das NAS in voller Geschwindigkeit geht. DAS könnte sich als großer Denkfehler rausstellen. Wie erwähnt, wird das Feature bei einigen automatisch aktiviert, bei anderen nach Aufforderung und bei manchen gar nicht. Es kann also gut sein, dass das NAS den Mac auffordert und er gehorcht und Unraid tut es nicht (und er "gehorcht" dann auch und nix passiert). Ein Blick in den Mac sollte deshalb keine Zeitverschwendung sein. Zumal Mac OS ja von FreeBSD abstammt und dort gibt es KEINE Automatik. Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 die Frage ist dann halt, warum er beim Asutor NAS die volle Geschwindigkeit rüberbringt. Bei gleichen Einstellungen.... Quote Link to comment
mgutt Posted October 28, 2022 Share Posted October 28, 2022 4 hours ago, unRAID-Tower said: Lenovo Workstation mit 16GB RAM und Intel i7 6700 3,4GHz Das ist der Unraid Server? Hat der auch 2.5G oder warum hast du das mit den 2.5G erwähnt? Was ist denn zwischen Unraid Server und Mac? Hast du es mal mit einer Direktverbindung versucht, um Probleme im Netzwerk auszuschließen? Hier mal ein paar Kommandos, wo du schon mal die Disks selbst mit Benchmarken kannst. Sowohl direkt über /mnt/disk1 also auch über den Userpfad /mnt/user/appdata. Erklärungen als Kommentare: # Wir erstellen eine Datei auf Disk 1, die wird aber vom RAM abgefangen dd if=/dev/zero of=/mnt/disk1/1GB.bin bs=128k count=10000 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 0.336121 s, 3.9 GB/s # Wir wiederholen das Kommando. Nun wird die Datei direkt auf der HDD überschrieben (Parität vorhanden) dd if=/dev/zero of=/mnt/disk1/1GB.bin bs=128k count=10000 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 14.8688 s, 88.2 MB/s # wir leeren den RAM sync; echo 1 > /proc/sys/vm/drop_caches # Und lesen so direkt von der HDD dd if=/mnt/disk1/1GB.bin of=/dev/null bs=128k 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 5.52072 s, 237 MB/s # Jetzt testen wir den /mnt/user Pfad # In meinem Fall ist noch ein Cache davor dd if=/dev/zero of=/mnt/user/appdata/1GB.bin bs=128k count=10000 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 0.937219 s, 1.4 GB/s # wieder RAM leeren sync; echo 1 > /proc/sys/vm/drop_caches # Auch lesen ist schnell dd if=/mnt/user/appdata/1GB.bin of=/dev/null bs=128k 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 0.87372 s, 1.5 GB/s EDIT: Diesmal /mnt/user mit einem Share der beim Cache auf "no" steht: # Der RAM hilft erneut dd if=/dev/zero of=/mnt/user/html/1GB.bin bs=128k count=10000 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 0.898517 s, 1.5 GB/s # wir wiederholen... interessant, bei /mnt/user hilft der RAM scheinbar immer (im Dashboard sehe ich, dass die HDD mit 80 MB/s beschrieben wird) dd if=/dev/zero of=/mnt/user/www/1GB.bin bs=128k count=10000 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 1.13728 s, 1.2 GB/s # dann eben mit Direct I/O Option, was aber scheinbar auch den Cache der HDD selbst deaktiviert hat?! (Im Dashboard genauso lahm) dd if=/dev/zero of=/mnt/user/www/1GB.bin bs=128k count=10000 oflag=direct 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 32.9462 s, 39.8 MB/s # RAM leeren sync; echo 1 > /proc/sys/vm/drop_caches # erneut lesen dd if=/mnt/user/www/1GB.bin of=/dev/null bs=128k 10000+0 records in 10000+0 records out 1310720000 bytes (1.3 GB, 1.2 GiB) copied, 5.59891 s, 234 MB/s Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 wow, danke für die umfangreiche Info.... ja, die ThinkStation ist der unRAID Server und da die ist mit 1x GBit Lan am Netz sowie 1x 2,5GBit direkt zum Mac verbunden. Verbindung vom Mac natürlich über die 2,5GBit (anderer IP Kreis) und dann mit BlackMagic Disk Speedtest getestet. Gleicher Test mit dem Asustor NAS auch direkt mit 2,5GBit. Da krieg ich 250Mbs zustande (mit Cache SSD) Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 hier mal der erste Teil direkt am unRAID ausgeführt Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 Teil 2 bei share ohne Cache Quote Link to comment
MAM59 Posted October 28, 2022 Share Posted October 28, 2022 1 hour ago, unRAID-Tower said: die Frage ist dann halt, warum er beim Asutor NAS die volle Geschwindigkeit rüberbringt. Bei gleichen Einstellungen.... Nein, Du hast meine Antwort nicht aufmerksam gelesen. Dieses Feature ist optinal und seine Anwendung nicht genormt. Es KANN an sein, es KANN aus sein, ein Gerät teit es den anderen mit oder nicht und genauso reagieren sie darauf oder auch nicht. Du musst also IMMER auf beiden Seiten gucken um sicher zu sein, dass es AN ist und auch befolgt wird. Es ist also recht unerheblich, ob Dein NAS gut mit dem Mac harmoniert, das sagt gar nix aus über diese Verbindung. Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 ok, danke - dann schau ich da nochmal genauer nach Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 ich hab jetzt mal SMB Extra Parameter hinzugefügt und jetzt dürfte es passen (aus dem General / englischen Teil des Forums) #performance tweak [global] veto files = /._*/Thumbs.db/.DS_Store/ min protocol = SMB3 aio read size = 1 aio write size = 1 use sendfile = yes nt acl support = no Quote Link to comment
MAM59 Posted October 28, 2022 Share Posted October 28, 2022 Na ja, das hat ungefähr denselben Effekt. Du zwingst damit Unraid immer nur EIN unquittiertes Paket auf der Leitung zu haben. Somit kann es nicht zum "ungebremsten Überlauf" kommen und es muss nichts wiederholt werden. Aber der Unterschied wäre wahrscheinlich eh nur im Promillebereich, also lass es so und lebe damit. Quote Link to comment
unRAID-Tower Posted October 28, 2022 Author Share Posted October 28, 2022 ok, mach ich - danke Quote Link to comment
mgutt Posted October 28, 2022 Share Posted October 28, 2022 2 hours ago, MAM59 said: Du zwingst damit Unraid immer nur EIN unquittiertes Paket auf der Leitung zu haben. Wovon sprichst du? aio read und write size versteht nur 0 oder 1. Also aus oder an und hat Null mit dem Netzwerk zu tun. Dabei geht es um I/O Direct, also Caching oder nicht. Mich wundert tatsächlich gerade, dass das standardmäßig aus sein soll... 🤔 Quote Link to comment
MAM59 Posted October 28, 2022 Share Posted October 28, 2022 2 hours ago, mgutt said: aio read und write size versteht nur 0 oder 1. Nein, lese er https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html. Die Zahl (durchaus auch grösser 1) gibt an, ab welcher Grösse SAMBA umschaltet von synchroner zu asynchroner IO. Bei "1" eben immer, aber bei höheren Werten wird eben nur bei Bedarf umgeschaltet. Allerdings frage ich mich auch, warum diese Einstellungen (von denen so 90% eh Default sind) sein Problem geheilt haben sollen.. Quote Link to comment
mgutt Posted October 28, 2022 Share Posted October 28, 2022 4 hours ago, MAM59 said: Nein, lese er https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html Solltest du vielleicht selbst mal machen. Quote The only reasonable values for this parameter are 0 (no async I/O) and 1 (always do async I/O). Auf Deutsch: Ja, man könnte es erst ab einer gewissen Größe umschalten von Direct auf Buffer, aber das macht halt einfach keinen Sinn. Quote Link to comment
mgutt Posted October 29, 2022 Share Posted October 29, 2022 On 10/28/2022 at 5:55 PM, mgutt said: Dabei geht es um I/O Direct, also Caching oder nicht. Mich wundert tatsächlich gerade, dass das standardmäßig aus sein soll... 🤔 Das sind die Standard-SMB-Einstellungen von Unraid 6.11.1 und aio write size ist tatsächlich 0 und damit wird I/O Direct erzwungen: # tail -n +1 /etc/samba/* ==> /etc/samba/lmhosts <== 127.0.0.1 localhost ==> /etc/samba/smb-fruit.conf <== # global parameters are defined in /etc/samba/smb.conf # current per-share Unraid OS defaults vfs objects = catia fruit streams_xattr #fruit:resource = file #fruit:metadata = netatalk #fruit:locking = none #fruit:encoding = private fruit:encoding = native #fruit:veto_appledouble = yes #fruit:posix_rename = yes #readdir_attr:aapl_rsize = yes #readdir_attr:aapl_finder_info = yes #readdir_attr:aapl_max_access = yes #fruit:wipe_intentionally_left_blank_rfork = no #fruit:delete_empty_adfiles = no #fruit:zero_file_id = no # these are added automatically if TimeMachine enabled for a share: #fruit:time machine #fruit:time machine max size = SIZE ==> /etc/samba/smb-names.conf <== # Generated names netbios name = Tower server string = Media server hide dot files = no server multi channel support = no multicast dns register = No disable netbios = yes server min protocol = SMB2 security = USER workgroup = WORKGROUP map to guest = Bad User passdb backend = smbpasswd null passwords = Yes idmap config * : backend = tdb idmap config * : range = 3000-7999 map archive = No map hidden = No map system = No map readonly = Yes create mask = 0777 directory mask = 0777 ==> /etc/samba/smb-shares.conf <== [isos] path = /mnt/user/isos comment = ISO images browseable = yes # Private writeable = no read list = test write list = valid users = test case sensitive = auto preserve case = yes short preserve case = yes vfs objects = catia fruit streams_xattr fruit:encoding = native ==> /etc/samba/smb.conf <== [global] # configurable identification include = /etc/samba/smb-names.conf # log stuff only to syslog logging = syslog@0 # we don't do printers show add printer wizard = No disable spoolss = Yes load printers = No printing = bsd printcap name = /dev/null # disable aio by default aio read size = 0 aio write size = 0 # misc. invalid users = root unix extensions = No wide links = Yes use sendfile = Yes # ease upgrades from Samba 3.6 acl allow execute always = Yes # permit NTLMv1 authentication ntlm auth = Yes # default global fruit settings: #fruit:aapl = Yes #fruit:nfs_aces = Yes fruit:nfs_aces = No #fruit:copyfile = No #fruit:model = MacSamba # hook for user-defined samba config include = /boot/config/smb-extra.conf # auto-configured shares include = /etc/samba/smb-shares.conf Für mich nicht wirklich nachvollziehbar warum man aio write size und damit das Caching deaktiviert hat. Bei Unraid 6.8 war aio write size noch auf 4096 eingestellt. @unRAID-Tower Wie du siehst ist use sendfile = yes bereits standardmäßig aktiv. Schadet aber natürlich nicht, wenn man den Wert noch mal setzt. Wenn du ein Benchmark machst, testest du übrigens NICHT die Geschwindigkeit der Datenträger, weil Linux die Daten dann noch im RAM vorhält. Daher sieht man beim manuellen Upload großer oder vieler kleiner Dateien meist ganz andere Werte. Meine smb-extra sieht übrigens so aus (ich habe auch RSS aktiviert, da dadurch die Last auf dem Client auf mehrere Kerne verteilt wird): # SMB Multichannel splits transfers across multiple NICs server multi channel support = yes # RSS splits transfers across multiple CPU cores (requires active SMB Multichannel) interfaces = "192.168.178.8;capability=RSS,speed=10000000000" # set minimum SMB version of this server server min protocol = SMB3 # set minimum SMB version for clients client min protocol = SMB3 # enable caching (was disabled since Unraid 6.9) aio read size = 1 aio write size = 1 Was auch ein bisschen bringt ist case sensitive auf yes zu stellen: Zumindest wenn ein Verzeichnis viele Dateien enthält. Nur Windows ignoriert ja die Schreibweise und in Linux muss quasi jede Datei in jeder Schreibweise gesucht werden, wenn man die Groß- und Kleinschreibung ignoriert. Kann aber sein, dass die Einstellung "auto" bereits erkennt, dass der Client ein Mac ist und dann "Yes" voraussetzt. Das weiß ich nicht. Ich hatte verschiedene Werte bei aio write size übrigens schon mal durchprobiert und es macht keinen Unterschied: https://forums.unraid.net/topic/97165-smb-performance-tuning/#:~:text=analyze all benchmarks.-,SMB.conf Tuning,-I made many Quote Link to comment
unRAID-Tower Posted November 1, 2022 Author Share Posted November 1, 2022 sorry, gerade erst gesehen... Danke für die ausführliche Antwort... Ich werde Case Sensitiv mal einschalten und deine SMB extra probieren... Quote Link to comment
mgutt Posted November 1, 2022 Share Posted November 1, 2022 15 hours ago, unRAID-Tower said: deine SMB extra probieren das hier muss aber dann angepasst werden: On 10/29/2022 at 10:54 PM, mgutt said: interfaces = "192.168.178.8;capability=RSS,speed=10000000000" Die IP und Speed bezieht sich auf eine 10G Karte. Bei 2.5 müsste man den Wert auf 2500000000 ändern. Quote Link to comment
unRAID-Tower Posted November 4, 2022 Author Share Posted November 4, 2022 ja, ok - danke Quote Link to comment
Recommended Posts
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.