Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Apr 2006 06:40:25 -0500
From:      Eric Anderson <anderson@centtech.com>
To:        David Gilbert <dgilbert@dclg.ca>
Cc:        FreeBSD ISP <freebsd-isp@freebsd.org>, Francisco Reyes <lists@stringsutils.com>
Subject:   Re: NFS optimization
Message-ID:  <4444D029.8060109@centtech.com>
In-Reply-To: <17475.54375.95109.55657@canoe.dclg.ca>
References:  <cone.1144794037.918896.59848.1000@zoraida.natserv.net>	<17475.43946.264571.52593@canoe.dclg.ca>	<cone.1145294815.465429.96480.1000@zoraida.natserv.net> <17475.54375.95109.55657@canoe.dclg.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
David Gilbert wrote:
>>>>>> "Francisco" == Francisco Reyes <lists@stringsutils.com> writes:
> 
> Francisco> What would be a good way to determine how many nfsd
> Francisco> proccesses one should have?  I erred in the side of caution
> Francisco> since had to literally through an NFS setup into production
> Francisco> without been able to do much testing. Set 35 processes.  My
> Francisco> busiest nfsd are: 250 hours 50 " 24 " 11 " 7 " 4 " 3 " 2 "
> Francisco> 1 "
> 
> Francisco> The rest are under 1 hour. Does that mean that I should be
> Francisco> ok with 10 processes?
> 
> Roughly, yes.  You'll see NFSd's normally decline exponentially with
> an inflection point.  If your machine is completely dedicated to NFS,
> you probably want to run lots.  The overhead of extra NFSd processes
> is fairly small.  If you rarely do NFS, the default of 4 may even be
> overkill.
> 
> Consider that if you are "out" of nfsd's, the penalty is increased
> latency for some small number of transactions that wait for an nfsd to
> become available..  Even if you have tonnes of NFSd processes, if disk
> is a limiting factor, more nfsd's won't speed the process.


I have found that having too little can easily cause clients to block on 
nfs under peak usage times, so I tend to bump the number way up. 
There's little to no harm in it.


> Something that most peoople don't consider is that the number of NFSd
> process can balance the concurrency of NFS clients against local disk
> requirements.  If, say, you run a busy database on the NFS server, you
> may want run fewer NFSd process to increase the disk bandwidth
> resources available to the database.
> 
> Francisco> To kill the least active ones, I just "kill" them? or is
> Francisco> there a better way to restart the whole nfs server side?
> 
> I rarely 'kill' an nfsd.  Always thought that was bad.  Killing any
> nfsd is equivalent.  If you kill one that is further up the queue, the
> ones later in the queue move up (AFAIK).  Still... I always change the
> boot parameters and leave the processes currently running when I tune
> the number of nfsd's.


I usually look at my nfsd's, and see what the distribution of run time 
is on them.  I like to see at minimum a few (maybe 5% or so) with 
0:00.00 runtime - which (to me) means that I had enough to service the 
queue, and a few extra that were bored.  For my setup, this means 
typically between 256 and 512 nfsd's (with one server at 1024).


Eric






-- 
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4444D029.8060109>