2.2 Thread-Pool

Aus Gründen der Leistungsverbesserung arbeitet eDirectory mit mehreren Threads. Beim Arbeiten mit mehreren Threads werden bei ausgelastetem System weitere Threads zur Verarbeitung der Last erstellt. Einige Threads werden beendet, um zusätzlichen Overhead zu vermeiden. Ein häufiges Erstellen und Vernichten von Threads ist ineffizient und kostenintensiv. Statt für jede Aufgabe neue Threads zu erzeugen und wieder zu vernichten, werden mehrere Threads gestartet und in einem Pool organisiert. Das System weist die Threads aus dem Thread-Pool je nach Bedarf verschiedenen Aufgaben zu. Die Aufgaben werden in zwei Arten von Warteschlangen gehalten:

Der Thread-Pool wird nicht von allen Modulen verwendet. Die tatsächliche Anzahl der Threads für den Prozess übersteigt die im Thread-Pool vorhandene Anzahl. Beispielsweise verwaltet FLAIM die eigenen Hintergrund-Threads separat.

Durch Ausführen des Befehls ndstrace -c threads werden folgende Poolstatistiken zurückgegeben:

Beispiel für einen Thread-Pool:

Folgende Parameter sind für Thread-Pools verfügbar:

Führen Sie die Befehle ndsconfig get und ndsconfig set aus, um die Größe des Thread-Pools abzurufen bzw. festzulegen.