Linux NFS development
 help / color / mirror / Atom feed
* How are client requests load balanced across multiple nfsd processes?
@ 2022-02-15 22:13 Patrick Goetz
  2022-02-16 19:22 ` J. Bruce Fields
  0 siblings, 1 reply; 4+ messages in thread
From: Patrick Goetz @ 2022-02-15 22:13 UTC (permalink / raw)
  To: linux-nfs@vger.kernel.org

However inappropriate this question is, I'm asking anyway, as this has 
been driving me nuts for 2 weeks and I can't find an answer.

When I set

   RPCNFSDCOUNT=16

what I thought this did was spin up an nfsd thread master with 15 
threads and the thread master would pass out client requests to the 
threads, but looking at /proc/$PID/status -> TGID clearly indicates 
these are all entirely separate processes. (I wasn't sure if ps showed 
threads as separate processes; apparently it doesn't.)

So the question is how do different client requests get farmed out to 
different nfsd daemons for service? Who's actually listening on port 2049?

If there's a reference other than the source code where I can read up on 
this, I'm interested. I looked in a couple of linux programming books 
including Richard Stevens and couldn't find what I was looking for.

This was all prompted by some vendor trying to sell me an EC (Erasure 
Coding) n+m system who commented "NFS isn't multi-threaded, NFS can only 
communicate with one server, for a shared/mounted filesystem, so it will 
always be limited to the speed of that NFS Server. POSIX/Multi-threaded 
means the filesystem is parallel and can be reading/writing to multiple 
nodes at once in a storage cluster/setup. The opposite of NFS."

I think pNFS addresses this, but then how does one implement pNFS?



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-02-16 19:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-15 22:13 How are client requests load balanced across multiple nfsd processes? Patrick Goetz
2022-02-16 19:22 ` J. Bruce Fields
2022-02-16 19:33   ` Patrick Goetz
2022-02-16 19:50     ` J. Bruce Fields

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox