[SOLVED] Mac OS X SMB Performance Slow after FreeNAS 9.1.1 to 9.3 Upgrade

Status
Not open for further replies.
Joined
Mar 9, 2015
Messages
6
There has been a lot of discussion around the web about how Mac OS X clients running Mavericks (10.9) and Yosemite (10.10) have client-side performance issues when connecting to SMB shares being served by various server platforms, including FreeNAS. For example, here <https://forums.freenas.org/index.php?threads/write-access-to-cifs-share-by-mac-kills-smb.27474/>.

I had no such performance problems connecting from a Mavericks or Yosemite client to our FreeNAS v9.1.1 as recently as yesterday, and was able to copy a 6GB file from the SMB share in about 1 minute (appx. 100MB/s). This was consistent with what I expected from SMB2. However this morning I upgraded our FreeNAS to the latest 9.3 STABLE and now transfer rates oscillate between 10 and 25MB/s. Nothing changed on the client!

I have tried every combination of SMB max server protocol setting in the FreeNAS Web GUI, specifying the SMB:// vs CIFS:// protocol on Mac, modifying /etc/nsmb.conf and setting "sysctl -w net.inet.tcp.delayed_ack=0" on the Mac. None of these tweaks have improved my transfer rates. Local disk transfer tests within the FreeNAS OS give me much better performance, and I can confirm the em1 link is at 1Gbps.

I guess my question is, what could have changed on the FreeNAS between 9.1.1 and 9.3 to cause this loss of performance? Any tuning suggestions? I'd hate to revert to 9.1.1 just to resolve this issue.

Server Specs:
10GB RAM
2 cores of 4-core Xeon Host (Dell T110)
Virtualbox VM connecting to USB3 external storage RAID via RAWDISK vmdk
(I'm sure people will have many opinions about running FreeNAS in a VM in this configuration, but it has served me well and, like I said, the performance was fine until the 9.3 upgrade)

One final detail: I can watch the transfer performance oscillate up and down almost rhythmically on the Mac client, which suggests a 'flow control' problem.
 
Joined
Mar 9, 2015
Messages
6
It turns out I needed to enable autotune after the upgrade, which subsequently added a bunch of tunables so that now I am getting the gig+ throughput I had experienced before the upgrade! It seems to have taken several reboots for all the tunables to populate.

dlavigne, thanks for the xhci driver suggestion, however Virtualbox uses a virtual SCSI adapter to link the "RAWDISK" vmdk to my USB3 array, so virtualized FreeNAS doesn't need a USB3 driver.

I'm going to mark this thread as resolved, and hope it helps other Mac FreeNAS users with performance.
 

ovizii

Patron
Joined
Jun 30, 2014
Messages
435
I read up on your solution here: http://doc.freenas.org/9.3/freenas_system.html

and found this statement:
the autotune script will automatically adjust some ZFS sysctl values in an attempt to minimize ZFS memory starvation issues. It should only be used as a temporary measure on a system that hangs until the underlying hardware issue is addressed by adding more RAM. Autotune will always slow the system down as it caps the ARC.

So I'm now left wondering if enabling autotune really is a good solution or did you then use the tunables it suggested to tweak your system manually?
 
Joined
Mar 9, 2015
Messages
6
Great question, ovizii. That chapter also says:

If you are trying to increase the performance of your FreeNAS® system and suspect that the current hardware may be limiting performance, try enabling autotune.

It's not completely clear, but I read your excerpt: It should only be used as a temporary measure on a system that hangs until the underlying hardware issue is addressed by adding more RAM. as saying autotune should not be the difference between an overloaded/unstable system and a functional system. Since our FreeNAS is comparably small scale and idle most of the time, I am content with whatever "slowness" we are incurring per Autotune will always slow the system down as it caps the ARC.

The other answer to your question is that I did not try manual tunables, beyond some plug-in requirements. Perhaps I just took the lazy approach! That said, I will try disabling autotune on my system to see if the SMB performance issues return.
 

ovizii

Patron
Joined
Jun 30, 2014
Messages
435
Sure, would love to hear more feedback if you try disabling it again.

I'm battling with speeds like 3h transfer time for 5GB (bing movie files) and I had way better speeds only a few days ago, trying to figure out what changed.
I'll also check out the autotune setting to see if it gives me any improvements.
 
Joined
Mar 9, 2015
Messages
6
I disabled it, rebooted, and all the tunables that autotune created persisted. Autotune is off now, and I still have the performance improvements I experienced after enabling it. System load is quite healthy, and I am maxing-out gigabit on large file transfers. I am attaching a screenshot of all the tunables:

Autotune-created Tunables.png
 

ovizii

Patron
Joined
Jun 30, 2014
Messages
435
hm, as far as I understand (and I stand to be corrected) autotune simply creates those tunables. Since you left the tunables enabled, disabling autotune shouldn't have any effect. You'd only see the effect if you disable them too!

My autotune only created these 2 with no noticable effect:
Code:
Variable
Value
Type
Comment
Enabled
vfs.zfs.arc_max    5037514880    loader    Generated by autotune    true
vm.kmem_size    10660925440    loader    Generated by autotune    true
 
Joined
Mar 9, 2015
Messages
6
Yes, agreed with respect to the autotune persistency. I didn't know if they would persist until I tried it. It is likely deleting the tunables would result in poor SMB and AFP performance once again, but I am not going to pursue disfunction on a production box any further for the benefit of this thread.

Also, autotune populated values over several days/reboots, so I wouldn't be surprised if more appear for you. I was surprised.

Also, what are your hardware resources like?
 

ovizii

Patron
Joined
Jun 30, 2014
Messages
435
Thanks for your insights so far, I didn't expect autotune to keep adding tunables, will enable and watch it over the next week.
Hardware specs, don't have a list right now, its a HP Proliant N54L with 8GB RAM and 4x 1TB HD but I don't expect miracles from this box just the performance I used to have prior to the upgrade to freeNAS 9.3
 

mrkobylarz

Dabbler
Joined
Mar 20, 2015
Messages
17
GOOD MORNING EVERYONE.

the server was really low on memory only 8 gb.

Purchased and installed 32 gb compatible memory with the card as specified by the manufacturer.

Still READING the CIFS share this extremely slow. I'm storing IP camera images. The number of files is huge (about 26,000) and 32 megs to 100 megs each file.

The following photos:

freenas SYS.jpg
freenas top.jpg
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Ok? The original OP said he solved the issue. So if this doesn't solve your issue you should open your own thread. Be sure to follow the forum rules for creating a thread or expect to receive a warning. ;)
 
Status
Not open for further replies.
Top