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

/proc/sys/net/core/rmem_default/proc/sys/net/core/rmem_max/proc/sys/net/core/wmem_default/proc/sys/net/core/wmem_max

to 1048576.

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?

share|improve this question

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.