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?