FreeNAS is great and supports a wide variety of hardware, I highly suggest using it.
I setup FreeNAS on Supermicro's X10SDV-4C+-TLN4F and noticed slow scp transfers of 1MB/s. Horrendous, but with some debugging I discovered the changes below saturate an nfs transfer on a 1Gbps network at ~113MB/s.
Don't use openssh cipher firstname.lastname@example.org
OpenBSD or FreeNAS has some issue where the chacha20 cipher is very slow on this specific hardware. So don't use that cipher.
In FreeNAS navigate to
edit SSH ->
Extra options and use:
After this change I was up to 30MB/s-50MB/s.
Use bigger buffers for networking
To get at the 113MB/s rate there are a few sysctls that I needed to enable. But note that the
autotune sucks so please don't use that. Also note the below sysctls are for My Hardware and not necessarily yours -- so I suggest using command line before making these changes permanent!!! These options were discovered by reading the FreeNAS manual section on networking.
Really, applying these in the FreeNAS GUI out of order may break all network connections. Try the CLI first (or backup freenas config) or you risk making changes without the GUI.
Apply these sysctls in this order:
sysctl kern.ipc.maxsockbuf=33554432 sysctl net.inet.tcp.recvbuf_auto=1 sysctl net.inet.tcp.sendbuf_auto=1 sysctl net.inet.tcp.sendbuf_max=33554432 sysctl net.inet.tcp.recvbuf_max=33554432 sysctl net.inet.tcp.recvspace=4194304 sysctl net.inet.tcp.sendspace=4194304
Test another transfer and I hope you see 113MB/s!