Last updated: 20251123
- SMB performance on Apple Silicon Macs (M1/M2/M3/M4) is often dramatically slower compared to Intel-based Macs or Linux/Windows PCs.
- This is an extremely common issue with other users employing Synology, TrueNAS, or Linux Samba.
- My experience is that my Apple MacBook Pro with M1 silicon is 10x slower on SMB accesses than my 2014 Intel-based MacBook Pro.
- My workflow requires multiple synchronizations daily with my Synology NAS of approximately 10,000 files taking up about 30 to 40 GBytes of storage space.
What I have learned from substantial research on the topic. Apple Silicon SMB slowness appears tocome from five main factors:
- Apple’s new SMB3 client stack has changed (and regressed) behavior vs Intel macOS versions.
- SMB multichannel is disabled or inconsistently negotiated on Apple Silicon.
- Signing and encryption defaults are stricter and often forced, even when the server doesn't need them.
- Kernel networking stack changes on ARM macOS interact badly with SMB I/O queues, especially over 10GbE or Wi-Fi 6/6E. Note that I have not confirmed the 10GbE statement.
- SMB client I/O pattern differences (write-behind and read-ahead bugs) hit Linux and NAS servers particularly hard.
Apple
- Apple has not publicly acknowledged the regression.
- Apple never comments publicly on SMB regressions, but fixes do slowly appear in macOS point releases.
However:
- Synology engineering has acknowledged it.
- TrueNAS community engineers have repeatedly pointed to Apple-side SMB issues.
- QNAP support has documented the exact same slowdown on ARM Macs.
- Multiple enterprise storage vendors have filed bug reports to Apple.
The following modifications to my Synology NAS and my MacBook Pro M1 has resulted in a 10x speed improvement over SMB.
- Make changes to the Synology NAS
- Edit the file on MacOS
- Reboot the MacOS computer
- Enjoy the performance improvement
Control Panel / File Sharing / File Services
SMB - SMB Settings
- Enable SMB service = CHECKED
- Disallow access to Previous Versions = UN-CHECKED
- Hide shared folders from users without permission = UN-CHECKED
- Enable Transfer Log = CHECKED
SMB - Aggregation Portal
- Enable Aggregation Portal = UN-CHECKED
SMB - WS-Discovery
- Enable Windows network discovery to allow file access via SMB = CHECKED
SMB Settings - Advanced Settings
SMB Settings - Advanced Settings - General
- Maximum SMB protocol = SMB3
- Minimum SMB protocol = SMB2 and Large MT
- Transport encryption mode = Disable
- Server signing status = Client defined
- Enable Opportunistic Locking = CHECKED
- Enable SMB2 file leasing = CHECKED
- Enable SMB3 directory leasing = CHECKED
- Apply to 'home' and 'homes' shared folders only = UN-CHECKED
- Apply to all shared folders = CHECKED
- Enable SMB durable handles = CHECKED
SMB Settings - Advanced Settings - macOS
- Enable VFS module to convert Mac special characters = CHECKED
- Enable cross-protocol locking with AFP = UN-CHECKED
SMB Settings - Advanced Settings - Others
- Enable Local Master Browser = UN-CHECKED
- Enable DirSort VFS module = CHECKED
- Veto files = UN-CHECKED
- Allow symbolic links within shared folders = CHECKED
- Allow symbolic links across shared folders = UN-CHECKED
- Disable multiple connections from the same IP address = UN-CHECKED
- Collect debug logs = UN-CHECKED
- Apply default UNIX permissions = UN-CHECKED
- Do not reserve disk space when creating files = CHECKED
- Enable NTLMv1 authentication = UN-CHECKED
- Enable asynchronous read = CHECKED
- Monitoring changes on all subfolders within the directory = UN-CHECKED
- Synchronize data to drive immediately upon SMB client request = UN-CHECKED
- Enable SMB3 Multichannel = UN-CHECKED
- Enable wildcard search cache = CHECKED
- Enable performance analysis = UN-CHECKED
AFP
- Enable AFP service = UN-CHECKED
- Enable transfer log = UN-CHECKED
NFS
- Enable NFS service = UN-CHECKED
FTP
- I have not enabled FTP
rsync
- I have not enabled rsync
Advanced - Fast File Clone
- Enable fast file clone = UN-CHECKED
Advanced - Bonjour
- Enable Bonjour service discovery to locate Synology NAS = CHECKED
- Enable Bonjour Printer Broadcast = UN-CHECKED
- Enable Bonjour Tim Machine broadcast via SMB = CHECKED
- Enable Bonjour Tim Machine broadcast via AFP = UN-CHECKED
Advanced - SSDP
- Enable Windows network discovery to allow access via web browsers = CHECKED
Advanced - TFTP
- Enable TFTP service = UN-CHECKED
Advanced - Bypass Traverse Checking
- Enable bypass traverse checking = UN-CHECKED
File: /etc/nsmb.conf
Contents:
[default]
streams=no
signing_required=no
protocol_vers_map=4
mc_on=no
Explanations:
- streams=no disables all metadata streams
- SMB signing can reduce throughput by 50-70% on Apple Silicon
- Protocol 4 = SMB3 only
- Do not enable SMB Multichannel unless bandwidth to NAS exceeds 1 Gbps
Fix missing.erronius carriage returns
SMB - SMB Settings
Enable SMB service = CHECKED
Disallow access to Previous Versions = UN-CHECKED
Hide shared folders from users without permission = UN-CHECKED
Enable Transfer Log = CHECKED
SMB - Aggregation Portal, Enable Aggregation Portal = UN-CHECKED
SMB - WS-Discovery, Enable Windows network discovery to allow file access via SMB = CHECKED