When I’m copying large files (eg a 4GB DVD ISO) to an NFS mount, access to the same mount from other processes becomes excessively latent. The network interface doesn’t appear to be saturated and access to the NFS device isn’t degraded much from other machines.
Is there a way to tune NFS such that larger transfers do not block other transfers as much?
I’ve tried playing with the rsize and wsize and various other mount options from the man page. I’ve seen a marginal increase in transfer rates, but it doesn’t seem to affect the blocking that happens when multiple processes are in play.
On Fri, 2010-08-06 at 17:36 +0000, openjim wrote:
> When I’m copying large files (eg a 4GB DVD ISO) to an NFS mount, access
> to the same mount from other processes becomes excessively latent. The
> network interface doesn’t appear to be saturated and access to the NFS
> device isn’t degraded much from other machines.
>
> Is there a way to tune NFS such that larger transfers do not block
> other transfers as much?
>
> I’ve tried playing with the rsize and wsize and various other mount
> options from the man page. I’ve seen a marginal increase in transfer
> rates, but it doesn’t seem to affect the blocking that happens when
> multiple processes are in play.
>
>
You don’t need to play with rsize and wsize anymore (esp Linux to
Linux). The NFS client and server will negotiate the largest values (a
feature of Linux NFS AFAIK).
Make sure you are running enough nfsd’s… there’s a parameter in the
/etc/sysconfig/nfsserver file (I think that’s what it’s called) on the
server side. Make the change and restart the nfsserver processes.
It’s possible that your drive system has a write bottleneck… if you
have a good infrastructure, you can try export async instead of sync…
that will allow you to use server side caching to the max (at the risk
of corruption if it were to be taken down hard). If the server platform
has a lot of memory, you should be able to saturate your network link
speed wise to your NFS server (even at 10Gbit).