MacOS – Very slow SMB on MacOS with 10G network

macosNetworkperformancesmb

We have a 10 Gigabit network with a mix of Windows 10, Linux and MacOS (Sierra 10.12.6) machines.

The transfer speeds between the Windows or Linux machines are OK: between 500 and 800 MB/s for big files (10 to 100 GB).

But the Macs show a read speed of around 130 MB/s only.

Curiously, write speeds when writing from Mac to Windows or Linux, are much better. The slow speed is when transferring files between two Macs or when the Mac is reading from a Win/Linux share.

The problem is really specific to SMB on Mac.

  • All the machines have SMB signing disabled as per Apple's recommendation. With the default setting which enables signing, the speeds were even (a lot) worse: around 60-70 MB/s.

  • The disks used were all RAID 5 arrays with local speeds between 600 MB/s. and over 1 GB/s. (tested with dd and Blackmagic Speed Test)

  • The raw network speeds tested with iperf3 were between 5 and 10 Gigabits/s.
  • Using FTP instead of SMB showed speeds around 500 MB/s in both directions (using the Mac's default ftpd).

Other suggestions I came across, which of course made no difference:

  • Using IP addresses instead of hostnames.
  • Using cifs:// instead of smb://. (that acually forces SMB 1 instead of SMB 3, and made the speed much worse)

Best Answer

I would turn on smb3 signing, smb3 encryption and retest. We are seeing the best performance with the latest OS, newest protocols and full encryption. It’s not twice as fast, but it’s measurably faster for a couple of vendors across the board for us.

Next, get a wire shark dump and look at the SMB commands. Work with networking on MTU and jumbo packets as that can really vault large transfers and be worth the engineering work if you can’t speed up large reads.