SMB unter MacOS langsam

  • Hallo!


    Habe hier ein DXP6800 Pro mit 1.9.0.0075 laufen, 64 GB RAM und einem RAID5-Verbund mit 4 Platten (~55TB netto, 72tB brutto) sowie einem vorgeschalteten SSD-Cache (2x 1TB, Raid 1).

    Im Arbeitsalltag greifen 4-8 Clients zu, Dateigrößen zu 99% zwischen 0.3 und 20 MB. Die Netzwerkanbindung ist (derzeit) ein Port 1Gbps, FS, MTU1500 (andere Konfigurationen ohne Verbesserung getestet)

    Clients die unter Windows und Linux laufen, können flink mit den SMB-Ugreen-Shares umgehen. Da gibts keine Probleme.

    Das Thema sind meine Mac-Clients. Da ist das Verzeichnislisting langsam, manche Dateitransfers von 10kb! großen Daten dauern auch schon mal 15-20 Sekunden. Manches flutscht aber auch lässig drüber. Komplett zufällig, ich habe trotz unzähliger Tests von unterschiedlichen Clients (und MacOS-Versionen) kein Muster erkennen können.

    Sobald sich in unserem Arbeitsverzeichnis (am DXP6800 gehostet) mehr 600 Verzeichnisse ansammeln wirds mühsam. Wenns auf die 1.000 Verzeichnisse zugeht, dann kann von einem Arbeitsfluss keine Rede mehr sein. Es muss mehr gewartet werden als gearbeitet. Es hilft dann, der Verzeichnis von alten Jobs zu befreien, sodass nur mehr die aktuellsten Daten drinnen sind.

    Was auch hilft, ist das NAS nach dem Dateibefreiungsschlag neu zu starten. Dann wirds wieder schneller.

    Am Share mit den Problemen ist unter /etc/samba/smbshare.conf die parameterzeile:
    vfs objects = catia fruit full_audit recycle streams_xattr ug_xattr_filter

    Clientseitig habe ich allerhand Optionen in /etc/nsmb.conf durchprobiert, außer Verschlechterungen hat das nichts gebracht. Jetzt würde ich gerne am NAS beginnen zu tweaken, es gibt ja allerhand Optionen (fruits) die man serverseitig testen können. Doch ich will unter /etc/samba/smbshare.conf nichts manuell ändern ohne dass ich mehr Informationen zur Bedenkenlosigkeit eingesammelt habe. (Grundsätzlich ist mir schon bewusst was ich tue, habe seit 30 Jahren Debian-Erfahrung.)

    Habt ihr Ideen/Erfahrung wie man die Transferraten unter OSX beschleunigen könnte? Danke für eure Antworten!

  • Hallo und Willkommen!

    Letztendlich nur eine Bestätigung deiner Feststellung:

    1. SMB und macOS...eine leidliche Geschichte seit einigen Versionen. Deine Tipps haben bei mir, auch schon bei einer Synology DS, nichts gebracht.

    2. die Zähigkeit liegt IMHO (leider) auf der Mac Seite. Wenn's mal wieder klemmt, war nach einem Reboot*, bspw. derselbe "Datenverschub" im LAN wieder super (*das man "genötigt" ist, bei macOS sowas überhaupt zu machen... ;) )

    3. Wenn's denn läuft, aktuell eine Verbesserung

    4. den Cache würde ich mir schenken, lieber RAM bis zum "Anschlag".

    UGREEN DXP2800 | UGOS 1.15.1.0127 - 16GB RAM - 2x Lexar NM790 1TB Btrfs RAID1 - 2x Seagate IronWolf 4TB Btrfs RAID1
    Raspberry Pi 4B/4 | DietPi 10.3.3 (Trixie) - AGH - NPM - Unbound
     MacBook Air M4 | macOS 26.5 |  mobile devices only | FRITZ!Box 7690 (OS 8.22) | Eaton Ellipse ECO 650 DIN USB USV

  • Wwa1

    Ja, es liegt ja definitv an clients bzw an deren "Versorgung" vom SMB-Server aus.

    Will hier nur nachfragen, ob irgendwelche Seiteneffekte durch das manuelle Tweaken der smbglb.conf bekannt sind bevor ich mich daran wage.

    *kw*

    Danke für den Tip 4, das nehm ich mir zu Herzen :)

  • Schau mal, ob solche "Tweaks" überhaupt einen Reboot überleben, bevor du dir darüber Gedanken machst.
    Viele Konfigurationen stellt UGOS beim Booten neu zusammen.

    Ugreen NAS DPX4800Plus, UGOS 1.15.1.0127, 2x Samsung 990 EVO Plus NVMe M.2 SSD 2 TB Raid1, 3*Toshiba MG10ACA20TE HDD 20TB Raid5, 64GB RAM -> 2 x Crucial DDR5 RAM 32GB 4800MHz SODIMM
    DS1522+ | DSM 7.3.2-86009U3 (Final) | 40 GB RAM | 3 x WD 14TB WD140EFGX Red Plus SHR, 2 x M.2-Samsung 980 Pro SSD 1TB SHR
    DS415+ | DSM 7.1.1-42962-9 (Final) | 8 GB RAM | 3 x WD 6TB WD60EFRX Red Raid5, 1 x SSD Intel 128GB Basic

  • defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

    Also, ich bin ja auch so ein Leid geprüfter, Spielen wir das Spiel doch mal durch. Diese Einstellung betrifft ja die Ansicht Metadaten

    Bei 20.000 Dateien mit der Größe von fünf Megabyte bringt dieser Befehl einen Vorteil auf einem modernen M4 Mac Mini zum NAS von gerade einmal 250 Millisekunden beim ersten öffnen des Ordners, kumuliert kann das bei tausenden frisch geöffneten Ordnern Sekunden bis 6 vielleicht 10 Sekunden bringen – aber nur verteilt über viele Ordner-Öffnungen, nicht auf einen einzelnen Klick. Eher nicht so dolle

    Kann auch jeder selbst empirisch auf seinem System testen (per smbutil statshares + fs_usage)

    Am Share mit den Problemen ist unter /etc/samba/smbshare.conf die parameterzeile:
    vfs objects = catia fruit full_audit recycle streams_xattr ug_xattr_filter

    muelli75 Das hier ist dein Wunder Punkt. Du hast dein Problem faktisch schon richtig identifiziert. Und willst nun eine Go-Mitteilung.

    fruit & streams_xattr Damit hast du faktisch doppelte SMB-Zugriffe ug_xattr_filter (Ugreen Patch) hat ein Problem arbeitet nicht synchron. Habe ich bei meiner Recherche rausbekommen ist wohl bekannt. Sag mal, ist dir der Papierkorb ist wichtig? Ich denke schon, es ist ja bei dir eine produktive Umgebung.

    Ich würde sagen vfs objects = catia fruit recycle

    Alles andere ist überflüssig. Der größte Bremser hier ist full_audit weil er jede Operation loggt

    Parameter anpassen:

       fruit:metadata = stream verhindert doppelte Extended-Attribute (statt xattr) → jeder Datei-Zugriff nur ein Metadaten-Roundtrip
      fruit:resource = stream 2 – 4 × schnelleres Verzeichnislisting bei vielen kleinen Dateen
      fruit:aapl = yes aktiviert Apple-optimierte Antworten; Finder ruft weniger stat -Calls ab
      fruit:posix_rename = yes
      fruit:zero_file_id = yes
    aio read size = 1 aktiviert asynchrones I/O auch bei kleinen Dateien
    aio write size = 1 10 – 30 % schneller bei vielen kleinen Schreib-/Lesevorgängen
      recycle:repository = .recycle
      recycle:keeptree = yes
      recycle:versions = yes
      recycle:touch = yes
      recycle:maxsize = 0
      recycle:exclude = *.tmp,*.temp,*.o,*.obj,~$*
      recycle:exclude_dir = /tmp,/temp
      recycle:noversions = *.bak,*.old
      recycle:directory_mode = 0770

    Prüfen danach: sudo testparm -s

    Aufgepasst --> Die UGREEN-Weboberfläche schreibt beim Erstellen/Löschen von Shares diese Datei neu. Mach dir nach jeder! Änderung ein Backup !

    Meine persönliche Meinung, was am meisten Speed bringt, ist Fruit:metadata, fruit:resource & aio read/write size

    DXP480T Plus, 2x32 GB Crucial DDR5 5600MHz, 4x4 Lexar® NM790 M.2 2280 PCIe Gen 4x4 TB NVMe

  • Anderer Suchansatz, besseres Ergebnis. Bisher gab es immer nur die "üblichen Verdächtigen" (smb.conf & Co.), jetzt bin auf einen anderen Parameter - mit Begründung - gestoßen (Quelle).

    Entscheidender Punkt:

    Quote

    Eine weitere Möglichkeit besteht darin, die Art und Weise zu ändern, wie macOS die Netzwerkverbindung auf Kernel-Ebene handhabt. Samba (SMB) ist ein sehr kommunikatives Protokoll und sendet während seiner Ausführung viel TCP-Datenverkehr über das Netzwerk. Irgendwann in der Vergangenheit hat Apple beschlossen, eine Einstellung namens „delayed ACK” (verzögertes ACK) im Kernel-Netzwerk standardmäßig zu aktivieren. Dadurch wartet das System einige Pakete ab, bevor es ein TCP-ACK-Paket an die Quelle zurücksendet. Zu Zeiten von 10/100-Ethernet, Wireless B und DSL war dies sinnvoll, da dadurch Pakete im Netzwerk eingespart werden konnten. Da heute 1-Gigabit-Glasfaseranschlüsse für Privathaushalte verfügbar sind und Multi-Gigabit-Netzwerke immer günstiger werden, ist dies nicht mehr wirklich notwendig. Es kann auch zu Problemen mit der SMB-Leistung führen, da der SMB-Server in der Regel auf ACK-Pakete wartet, bevor er weitere Daten sendet. Durch Deaktivieren dieser Option wird der Engpass beseitigt.

    Um zu testen, ob dies in Ihrer Umgebung hilft, können Sie diesen Befehl im Terminal ausführen, wodurch verzögertes ACK bis zum nächsten Neustart deaktiviert wird:

    sudo sysctl net.inet.tcp.delayed_ack=0

    Wenn dies Ihre Leistung verbessert, sollten Sie diese Einstellung dauerhaft übernehmen. Am einfachsten ist es, einen LaunchDaemon auf Ihrem System zu installieren, der beim Start Ihres Computers ausgeführt wird. Öffnen Sie eine neue LaunchDaemon-Konfiguration für sysctl (sudo vim /Library/LaunchDaemons/com.startup.sysctl.plist) und fügen Sie folgenden Inhalt ein:

    Quote

    Dadurch wird ein LaunchDaemon erstellt, der einmal beim Systemstart ausgeführt wird und verzögerte ACK-Bestätigungen deaktiviert. Wenn Sie dies rückgängig machen möchten, löschen Sie die LaunchDaemon-Datei und starten Sie den Computer neu.


    ========


    Ausprobiert und zur gefühlsmäßigen Visualisierung (830MB File) über WLAN gestartet. Ich fand's gut. 😆

    DXP2800 --> 2.5G LAN --> FB7690 (2.5G Port) --> WiFi6 --> MacBook

    Screen-Video in Echtzeit Dropbox-Link (*.mov, 1,3MB)

    UGREEN DXP2800 | UGOS 1.15.1.0127 - 16GB RAM - 2x Lexar NM790 1TB Btrfs RAID1 - 2x Seagate IronWolf 4TB Btrfs RAID1
    Raspberry Pi 4B/4 | DietPi 10.3.3 (Trixie) - AGH - NPM - Unbound
     MacBook Air M4 | macOS 26.5 |  mobile devices only | FRITZ!Box 7690 (OS 8.22) | Eaton Ellipse ECO 650 DIN USB USV

  • Ich hab ein ähnliches Problem. Transfer von 5GB von macOS zur DXP2800 ~3 Minuten. Gleiches file zur Synology DS718+ ~1 Minute. Bin am Testen ob ich meine Syno ersetze und eigentlich begeistert von den Möglichkeiten, allerdings ist das hier ein Todeskriterium.

    Da es von macOS zur Syno einwandfrei funktioniert sind Änderungen am macOS Client keine Option. Die DXP muss hier was anders machen.

  • Ich komme von einer DS716+II (8GB) und die DXP kann definitiv nix dafür. Da haben wir uns "drüben" schon ausgetauscht (Bsp.).

    Für die obige "Testumgebung" habe ich den SMB-Cache gelöscht, usw., um eine "saubere" Ausgangslage zu schaffen. Mit ProtogonosTipps kam ich leider nicht weiter, aber die aktuellen Erkenntnisse haben sich wirklich deutlich nach oben unterschieden.

    UGREEN DXP2800 | UGOS 1.15.1.0127 - 16GB RAM - 2x Lexar NM790 1TB Btrfs RAID1 - 2x Seagate IronWolf 4TB Btrfs RAID1
    Raspberry Pi 4B/4 | DietPi 10.3.3 (Trixie) - AGH - NPM - Unbound
     MacBook Air M4 | macOS 26.5 |  mobile devices only | FRITZ!Box 7690 (OS 8.22) | Eaton Ellipse ECO 650 DIN USB USV

  • Verstehe dann aber die Abweichung trotzdem irgendwie nicht. Wenn du sagst es liegt nicht an der DXP, wieso habe ich unter der Syno bessere Werte? Klar, dort gibt es ggf. Optimierungen. Ich bin aktuell auch noch komplett auf Standard und habe bisher nix an den smb Settings der DXP geändert.

  • Ich habe jetzt mal 'full_audit' im UGREEN-OS und das verzögerte ACK am Client raus genommen.

    Beides hat unabhängig voneinander zu einer verbesserten Performance geführt. Das full_audit mehr, der ACK-Tweak nur mehr beim Handling mit vielen kleinen Dateien. Danke für eure Tips! Werde das weiter beobachten.

  • ACK-Tweak nur mehr beim Handling mit vielen kleinen Dateien.

    ...sowohl als auch. Gerade lief das TM-Backup und auch hier "rödelte" es eindeutig schneller. Da sich grundsätzlich eine identische Datenmenge ändert, bekommt ein Gefühl dafür.

    chaos2oo2 soweit vom Umfang möglich, sind die SMB-Einstellungen von DS und DXP identisch.

    UGREEN DXP2800 | UGOS 1.15.1.0127 - 16GB RAM - 2x Lexar NM790 1TB Btrfs RAID1 - 2x Seagate IronWolf 4TB Btrfs RAID1
    Raspberry Pi 4B/4 | DietPi 10.3.3 (Trixie) - AGH - NPM - Unbound
     MacBook Air M4 | macOS 26.5 |  mobile devices only | FRITZ!Box 7690 (OS 8.22) | Eaton Ellipse ECO 650 DIN USB USV

  • Ich möchte das Thema hier nicht kapern, habe aber seit langem ein Problem im Zusammenspiel vom Mac mit einem QNAP und einem UGREEN - NAS. Vielleicht hat dort auch noch jemand eine Idee. Ich habe auf dem Mac zwei Benutzerkonten. Wenn der Mac frisch gestartet wird und ich mich einlogge, dann benutze ich AutoMounter (oder CoonectMeNow V4), um 4 Ordner auf dem Mac einzubinden. Das klappt auch soweit so gut. Wenn ich mich nun den Benutzer abmelde und ich mit dem anderen Benutzer anmelde, dann ist es eine 50/50 - Chance, ob die Ordner eingebunden werden oder nicht. Die beiden Tools (natürlich nicht parallel genutzt) sehen das NAS, aber das einbinden klappt nicht wegen Zeitüberschreitung. Dann bleibt mir nur den Mac neu zu starten, da auch ein manuelles Verbinden nicht geht. Das Problem habe ich schon seit 3 oder 4 MacOS - (Haupt-) Versionen und ich habe am Anfang gedacht, dass es ein Problem von QNAP ist. Da aber das gleiche Problem auch beim UGREEN auftritt, muss es wohl am Mac liegen.

    Kennt jemand das Problem und weiss sogar eine Lösung?

  • Es wäre besser hierfür einen eigenen neuen Thread zu eröffnen, da es doch ein ganz anderes Thema ist.

    Meine Hardware

    iDX6011 Pro in Späh ^^

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Cruc. CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

  • [OT] Tranel schau mal hier

    UGREEN DXP2800 | UGOS 1.15.1.0127 - 16GB RAM - 2x Lexar NM790 1TB Btrfs RAID1 - 2x Seagate IronWolf 4TB Btrfs RAID1
    Raspberry Pi 4B/4 | DietPi 10.3.3 (Trixie) - AGH - NPM - Unbound
     MacBook Air M4 | macOS 26.5 |  mobile devices only | FRITZ!Box 7690 (OS 8.22) | Eaton Ellipse ECO 650 DIN USB USV

  • Hi

    Danke. Im Prinzip machen das ja die Apps schon, die ich nutze bzw. genutzt habe. Das Problem ist einfach, dass anscheinend die Kommunikation zwischen MacOS und den NAS zur Anmeldung nicht sauber läuft. Der Mac sieht ja das NAS, aber kann sich dann nicht verbinden.

  • Dann prüfe mal die Anmeldeoptionen/Userdaten. Aber bitte für den weiteren Verlauf einen neuen Thread aufmachen, mit jeder weiteren Antwort driften wir vom Thema ab.

    PS: ggf. an Mike0185 oder Willi wenden, die verschieben die zugehörigen Posts passend

    UGREEN DXP2800 | UGOS 1.15.1.0127 - 16GB RAM - 2x Lexar NM790 1TB Btrfs RAID1 - 2x Seagate IronWolf 4TB Btrfs RAID1
    Raspberry Pi 4B/4 | DietPi 10.3.3 (Trixie) - AGH - NPM - Unbound
     MacBook Air M4 | macOS 26.5 |  mobile devices only | FRITZ!Box 7690 (OS 8.22) | Eaton Ellipse ECO 650 DIN USB USV

  • --> Am Besten einen neuen Thread im passenden Forum eröffnen.

  • *kw* ich bin mit meinem MacBook Pro (M3 Pro) auf macOS 15.7.1 unterwegs. Mittlerweile ist die Verbindung zu meinem DXP2800 eigentlich identisch wie zu meiner alten Syno: ~106 MB/s.

    Das Einzige was ich gemacht habe, da mir die ganzen .DS_Store Files auf dem Netzlaufwerk sowieso auf den Zeiger gegangen sind, war

    defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

    Neustart des Macbook, neustart des NAS.

Participate now!

Join our community with over 10,000 members!

Register yourself now for free to get full access to all content, graphics, downloads and other exclusive features!