[OmniOS-discuss] How to check if you have enough NFS server threads?
richard.elling at richardelling.com
Fri Mar 20 20:46:04 UTC 2015
> On Mar 20, 2015, at 1:09 PM, Chris Siebenmann <cks at cs.toronto.edu> wrote:
> We're running into a situation with one of our NFS ZFS fileservers[*]
> where we're wondering if we have enough NFS server threads to handle
> our load. Per 'sharectl get nfs', we have 'servers=512' configured,
> but we're not sure we know how to check how many are actually in use
> and active at any given time and whether or not we're running into
> this limit.
> Does anyone know how to tell either?
Yes, these are dynamically sized and you can track via the number of current threads
as shown by ps or something sneaky like "ls /proc/$(pgrep nfsd)/lwp | wc -l"
Some distros, including Solaris 11.1, have kstats for this information. So when we track
them over time, they can and do change dynamically and quickly.
> We've looked at mdb -k's '::svc_pool nfs' but I've concluded that I
> don't know enough about OmniOS kernel internals to know for sure what
> it's telling us (partly because it seems to be giving us implausibly
> high numbers). Is the number we're looking for 'Non detached threads'
> minus 'Asleep threads'? (Or that plus detached threads?)
In general, the number of threads is an indication of the load of the clients and
the service ability of the server (in queuing theory terms). Too much load gives
the same result as too slow of a back-end. In NFS, clients limit the number of
concurrent requests, which is the best way to deal with too much load.
> Thanks in advance.
> - cks
> [*: our server setup and configuration is:
> OmniOS-discuss mailing list
> OmniOS-discuss at lists.omniti.com
More information about the OmniOS-discuss