[email protected] (=?UTF-8?Q?BERTRAND_Jo=c3=abl?=) writes: >4/ make -j1 kicad (9.0), sources on a Raid5 volume shows a nfs mean >throughput around 40 Mbps. nfs process eats 1 to 2 % od server CPU.
Averages can be misleading. NFS is very slow for metadata operations because of network latency and a build (in particular pkgsrc) does a huge amount of metadata operations. >6/ dd if=3D/dev/zero of=3Dtest.dd count=3D10 bs=3D100M >nfs throughput rises until 850 Mbps (iftop) >but load average on server side until 56 ! That looks ok. The server load comes from the number of NFS processes. >hilbert:[~] > dd if=3D/dev/zero of=3Dtest.dd count=3D10 bs=3D100M >10+0=C2=A0enregistrements lus >10+0=C2=A0enregistrements =C3=A9crits >1048576000=C2=A0octets (1,0 GB, 1000 MiB) copi=C3=A9s, 69,9613 s, 15,0 MB= >/s That doesn't correspond to the 850 Mbps number. Repeating the test here (with RPI4 client against Atom N3150 server) gets me about 50MByte/s. Do you use any special NFS mount options ? The command 'mount -vv' on a NetBSD client (FreeBSD too?) will dump the mount options in use, e.g.: fud.local:/d/2 on /a/data type nfs (automounted, nosuid, fsid: 0xb0c/0x70b, reads: sync 0 async 0, writes: sync 0 async 0, [nfs: addr=x.x.x.x, port=2049, addrlen=16, sotype=1, proto=0, fhsize=0, flags=0x8240<intr,nfsv3,resvport>, wsize=32768, rsize=32768, readdirsize=8192, timeo=300, retrans=10, maxgrouplist=16, readahead=2, leaseterm=0, deadthresh=9]) On a Linux client the mount command is already verbose by default. The nfsstat command may also reveal some information. On the server, look for 'Server Errors'. On a NetBSD client (maybe FreeBSD too) look for timeouts and retries under 'RPC Info'. Linux also has a nfsstat command that shows equivalent numbers. >> What is your vfs.nfs.iothreads value? > vfs.nfs.iothreads =3D -1 iothreads are a NFS client setting, -1 means the default of 4 threads.
