Overview#
NDS Thread Pool is the Pool of
NDS Threads
eDirectory is multi-threaded for performance reasons. In multi-threading, when the system is busy, more threads are created to handle the load and some threads are terminated to avoid extra overhead.
As it is inefficient and costly to frequently create and destroy NDS Threads. Instead of spawning new threads and destroying them for every task, a number of threads are started and placed in the NDS Thread Pool pool. The system allocates the threads from the NDS Thread Pool to several tasks as needed. Tasks are held in two types of queues:
- Tasks that need immediate scheduling are held in the Ready queue.
- Tasks that need scheduling at a later time are held in the Waiting queue.
Not every
NDSD Loadable Module uses the NDS Thread Pool. The actual number of
threads for the
Processes is more than the number that exists in the NDS Thread Pool.
For example:
Run the
ndsconfig get and
ndsconfig set commands to get and set the NDS Thread Pool size parameters.
NDS Thread Pool size parameters are:
Running the ndstrace -c threads command returns the following thread pool statistics:
NDS Thread Pool Some Hints#
eDirectory requires a minimum of 16
NDS Threads for its internal operations.
Category#
eDirectory
There might be more information for this subject on one of the following: