I have recently installed Debian Stretch 9.3 on a new PC that I'd like to use as home server/ NAS. The CPU is an Intel J4205 with 8GB memory and a 2TB WD Red hard disk.
I'd like to export some shares using NFS as there are only Linux clients in the network. I exported some folders with options subtree_check,secure and used rsync -av --progress src dest to copy a file with about 7GB from my laptop to the mounted share. The mount options were just rw.
This way I never got more than about 75MB/s.
I tried several additional and other options on the server (no_subtree_check, async) and the client side (vers=3, vers=4, vers=4.1, proto=tcp, hard, soft, rsize=32768, wsize=32768, rsize=1048576, wsize=1048576) in various combinations. The number of NFS threads is 48, but 32 or 64 lead to the same result. I increased the network buffer sizes in
The absolute maximum I ever reached with NFS was 100MB/s.
I also observed that the NFS speed is not constant at all. It starts at a high speed and after some time it goes down to 25MB/s or so. Then it goes up to 120MB/s again. Sometimes the rsync progress stops for 1-3 seconds and then proceeds again.
A quick'n'dirty cross check with SMB/CIFS resulted 115MB/s without tweaking anything. Just configured and ran.
I would have expected to get higher transfer rates with NFS and not with SMB/CIFS.
What could be wrong or what else could I try to increase the NFS performance?