After recently upgrading to OS X 10.12, I noticed some SMB file transfers were taking a lot longer than usual. Instead of the normal 100MB/sec transfer speeds I typically see between my Mac Mini and my Synology NAS on a gigabit (wired) network, I was seeing something closer to 30MB/sec.
Turns out I’m not the only one with this issue. Searching Google for “10.12 slow smb” returns pages full of results of people reporting the same issue. Most of them say “switch to AFP and the problem goes away.” That’s nice but I specifically use SMB because I have a share that’s accessed by Linux, Mac, and Windows – and so SMB is the right solution to keep file naming consistent.
The issue seems to come down to Apple’s SMB forcing default enabling of “client signing” which ruins performance.
Buried in one thread on the Apple Discussion Forum is a suggestion to use the /etc/nsmb.conf file to disable client signing on the client end.
After unmounting & remounting the SMB share, I verified this returns transfer speeds to normal.
How to Fix It In One Command
Open up a terminal and enter this command.
printf "[default]\nsigning_required=no\n" | sudo tee /etc/nsmb.conf >/dev/null
Then unmount and remount any SMB shares.
Client signing does provide additional security, but you better not be running SMB over the internet or on any untrusted network in the first place. In a business setting, perhaps you will want to think twice about making this change, but I’m having this issue at home, so I am alright with the minimal security risk.