Let’s start with the specs of your NAS please that’s always really helpful info. Focus on CPU, RAM, HDD/SSD, how many and pool layout etc.
Also how did you do your testing to come to the conclusion that you are limited to 20MB/s? Was that reads and/or writes?
Looks like your theoretical max is around 50MB/s based on your iperf test and what with overhead I’d say we’re shooting for about 40MB/s tops. Bear in mind the type of data you are moving will impact this. Nice big files 4GB plus will always be faster than lots of little files by some margin so always best to test with big stuff first I find.
You are about at half the speed I get over wired 1Gbps. If you are running over wireless, that may be about right. Can you try your test with wired only?
The speeds you saw may have been over a 10Gbps with a single hard drive on transfer.
Thanks for the info, unfortunately all my laptops can not wired to the router.
@Johnny_Fartpants My NAS is HPE MicroServer Gen10, it’s quite old but I heard it’s very stable, anyway here is the profile:
CPU: Opteron X3216 1.6G
GPU: Integradted AMD Radeon 7
RAM: ECC DDR4 UDIMM 8GB, could upgrade to 16G * 2
NIC: Broadcom 5720 Gigabit Ethernet * 2
SATA: LFF/SFF SATA 6Gb/s * 4 + SSD SATA * 1
PCIe: PCIe3 x 8 and PCIe3 x 4
USB: USB 2.0 * 3 and USB 3.0 * 3
VIDEO PORT: VGA * 1 plus DP * 2
POWER: 200W
And I test the speed with command dd as well as rsync, ever trid big 2G files as well as hundred 4-5M small files. Sometimes I just used the timer to calculate the speed manually no matter write or read.
Just upgraded my router from Redmi AX3000 to ZTE AX5400Pro, the WIFI speed increased to 5400Mbps from 3000Mbps, so now here is the new test with ZTE AX5400Pro
As you can see, the bandwidth speed is about 10MB/s improved and now the Samba speed is about 26MB/s, comparing 20MB/s before, it has 6MB/s improved but still it’s quite slow.
This ZTE AX5400 Pro has a 2.5Gbps interface, I plan to add a 2.5Gbps NIC PCIe to the NAS, thus to have 2.5Gbps connection between NAS and WiFi Router.
The ZTE AX5400 Pro costs $55 and UGREEN PCIe 2.5Gbps card costs $10, it deserves a try.
Thanks for the hinting. Just found Windows 10 client has a speed around 45MB/s, it is much faster than MacOS, so I dig a little bit and found many complains on MacOS.
Question are you talking about moving files or accessing things via the finder? The finder is a known issue.
MacOS is just slow with SMB in the finder. It is not TrueNAS. All my Macs are slow and Windows boxes are fast. There are a few things that will speed things up a bit.
Finder > View > Show View Options and turn Show icon preview and preview column off. Please note this is not per folder so it turns it off everywhere.
For the file move speed you can turn off encryption required in TrueNAS and turn it off on the Mac. Understand that the files will not be encrypted on the wire and more.
Also I am a bit confused as you are talking about SMB but testing with iperf3? What issue are we trouble shooting? SMB access or basic network throughput?
If you have a speed mis-match between the testing host you will drop packets before TCP backs off. Also confused about the connection. Is it wired or wireless? Wireless is a crapshoot.
In my smb.conf file, as part of the [Global] section, I include some tweaks alleged to make macOS performance better:
fruit:aapl = yes
fruit:model = MacSamba
vfs objects = catia fruit streams_xattr
fruit:nfs_aces = no
fruit:zero_file_id = yes
fruit:metadata = stream
fruit:encoding = native
And, in the definitions for each share I also include:
veto files = /._*/.DS_Store/
delete veto files = yes
(This are more for my sanity than anything else…)
Only consider changing this if smbd is serving obsolete SMB1 Windows clients prior to Windows XP (Windows 98 and below). There should be no need to change this setting for normal operations.
Default: strict sync = yes