NFS optimization
Eric Anderson
anderson at centtech.com
Tue Apr 18 11:40:41 UTC 2006
David Gilbert wrote:
>>>>>> "Francisco" == Francisco Reyes <lists at 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.
------------------------------------------------------------------------
More information about the freebsd-isp
mailing list