Re: high latency NFS

From: Dave Chinner
Date: Sun Aug 03 2008 - 20:39:19 EST


On Fri, Aug 01, 2008 at 03:23:43PM -0400, J. Bruce Fields wrote:
> On Fri, Aug 01, 2008 at 05:23:20PM +1000, Dave Chinner wrote:
> > Having implemented the second option on a different NUMA aware
> > OS and NFS server, I can say that it isn't that complex, nor that
> > hard to screw up.
> >
> > 1. spawn a new thread only if all NFSDs are busy and there
> > are still requests queued to be serviced.
> > 2. rate limit the speed at which you spawn new NFSD threads.
> > About 5/s per node was about right.
> > 3. define an idle time for each thread before they
> > terminate. That is, is a thread has not been asked to
> > do any work for 30s, exit.
> > 4. use the NFSD thread pools to allow per-pool independence.
>
> Actually, I lost you on #4. You mean that you apply 1-3 independently
> on each thread pool? Or something else?

The former. i.e when you have a NUMA machine with a pool-per-node or
an SMP machine with a pool-per-cpu configuration, you can configure
the pools the differently according to the hardware config and
interrupt vectoring. This is especially useful if want to prevent
NFSDs from dominating the CPU taking disk interrupts or running user
code....

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/