This page (revision-1) was last changed on 29-Nov-2024 16:16 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 49 lines
!!! Overview
[{$pagename}] 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 [{$pagename}] pool. The system allocates the [threads] from the [{$pagename}] 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.
!! [{$pagename}] [NDSD Loadable Modules]
Not every [NDSD Loadable Module] uses the [{$pagename}]. The actual number of [threads] for the [Processes] is more than the number that exists in the [{$pagename}].
\\For example:
* [FLAIM] manages its background [threads] separately.
* [imonitor] number of [threads] are controlled by [Http.server.threads-per-processor]
!! [{$pagename}] [Monitoring]
Run the [ndsconfig] get and [ndsconfig] set commands to get and set the [{$pagename}] size parameters.
[{$pagename}] size parameters are:
* [N4u.server.max-threads]
* [N4u.server.idle-threads]
* [N4u.server.start-threads]
* [N4u.server.thread-stack-size]
* [N4u.server.active-interval]
Running the [ndstrace] -c threads command returns the following thread pool statistics:
* The total number of [threads] that are spawned, terminated, and [Idle threads].
* The total number of[ worker threads] currently and the peak number of [worker threads].
* The number of [Ready tasks] and the peak number of [Ready task] in the Ready [queue].
* The minimum, maximum and average number of microseconds [Ready tasks] spent in the Ready [queue].
* The current and maximum number of [Ready tasks] in the Waiting [queue].
!! [{$pagename}] Some Hints
[eDirectory] requires a minimum of 16 [NDS Threads] for its internal operations.
* one Monitor thread for every 255 [LDAP] client ([DUA]) connections.
* one Worker thread for every four concurrent [DClients] that need to be serviced. (Remember, [NcpServers] are [DClients])
* eight [NDS Threads] for every [Central Processing Unit] ([CPU]) on the device to service client search requests.
!! Category
%%category [eDirectory]%%
!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]