Performanceanalyse

Der aktuelle Teil der Artikelserie befasst sich mit frei verfügbaren Werkzeugen für das Benchmarking und ihrer Nutzung mit dem Windows Server 2003. Ein Beispiel ist DirectoryMark für die Messung der Performance des Active Directory. Es wird sowohl die Vorbereitung des Systems als auch die Nutzung des Tools besprochen.

Mit einer ganzen Reihe von Benchmark-Tools lässt sich die Performance von Systemen gezielt analysieren. Die damit erzeugte Last auf Servern kann anschließend analysiert werden.

Wenn man eine solche Last erzeugt, muss man sie nicht unbedingt nur mit den entsprechenden Werkzeugen analysieren, sondern kann auch andere Anwendungen wie den Systemmonitor von Windows nutzen, um Daten zu sammeln. Wichtig ist, dass man die Ergebnisse vergleichbar macht, entweder mit offiziellen Ergebnissen, die es beispielsweise zu einem Benchmark gibt, oder mit Werten, die man selbst gesammelt hat.

DirectoryMark

DirectoryMark ist ein Benchmark-Werkzeug für LDAP-Server – also nicht nur für das Active Directory. Das Tool wird von Mindcraft entwickelt. Die ausführbaren Versionen sind frei verfügbar und können von www.mindcraft.com/directorymark geladen werden. Aktuell liegt das Werkzeug in der Version 1.3 vor. Diese unterstützt neben dem Active Directory und anderen LDAP-Verzeichnissen auch ADAM (Active Directory Application Mode). Das Produkt liegt in Versionen für Windows und Solaris vor.

Durch den Fokus auf LDAP ist das Produkt auch interessant, um verschiedene LDAP-Server miteinander zu vergleichen. Das kann bei Diskussionen über die strategische Auswahl von Verzeichnisdiensten durchaus hilfreich sein (oder auch nicht…).

Über die Verfügbarkeit des Tools hinaus hat Mindcraft auch Regeln aufgestellt, die für den Vergleich von Verzeichnisdiensten verwendet werden sollen. Diese finden sich unter www.mindcraft.com/directorymark/dm13runrules.html. Auch wenn sie primär für Hersteller gedacht sind, die offizielle Benchmarks veröffentlichen wollen, sind sie doch auch als Hintergrundinformation für eigene Tests interessant, weil sie die Vorgehensweise für Performanceanalysen näher erläutern und auch Informationen zu den Parametern liefern, die bei solchen Tests angepasst werden können.

Interessanterweise gibt es nur sehr alte zertifizierte Tests für Directory Server, während in anderen Bereichen wie bei Web Access Management-Lösungen eine ganze Reihe von Tests zur Verfügung stehen.

Die Tests

Bei der Durchführung von Benchmarks wird die LDAP-Performance gemessen. Dabei werden verschiedene LDAP-Operationen wie search, add und modify ausgeführt. Der Anteil der verschiedenen Operationen kann konfiguriert werden.

Für den Test werden mindestens zwei Maschinen benötigt. Auf einer wird der LDAP-Server ausgeführt, auf der anderen läuft Directory-Mark. Die Testdaten werden mit einem mit dem Produkt gelieferten Tool erzeugt. Dieses als dbgen bezeichnete Werkzeug erzeugt LDIF-Dateien, die wiederum an die Zielplattform angepasst werden müssen.

Bei der Vorbereitung eines Tests muss zunächst eine Konfigurationsdatei für DirectoryMark angepasst werden. In dieser Datei wird angegeben, auf welchen Server zugegriffen wird, wie viele Clientprozesse und Client-Threads verwendet werden sollen und wie lange der Client zwischen aufeinanderfolgenden Operationen wartet. Weitere Parameter sind das Verzeichnis, in das Informationen geschrieben werden sollen, und gegebenenfalls plattformspezifische Parameter beispielsweise für das ältere Exchange Directory. Die Konfiguration dieser Datei ist im Dokument overview.html im Verzeichnis doc von Directory-Mark beschrieben.

Das zweite wichtige Werkzeug ist scriptgen.pl. Damit werden Skripts für die DirectoryMark-Clients erzeugt. Die Anzahl der verschiedenen LDAP-Operationen kann dabei gezielt angegeben
erden.

Um einen Test durchzuführen, sollte mit einer neu aufgesetzten Testumgebung für das Active Directory gearbeitet werden. Im ersten Schritt werden mit dbgen die Testdaten erzeugt. Diese müssen als LDIF-Datei importiert werden. Der nächste Schritt ist die Erzeugung des Skripts, das gegebenenfalls auch modifiziert werden kann, um die Transaktionen anzupassen.

Nachdem ein Ordner für die Testergebnisse angelegt wurde, muss noch die Konfigurationsdatei angepasst werden, bevor das Tool gestartet werden kann.

Um mehrere Clients zu simulieren, werden mehrere Sätze von Skripts erstellt, die sich auch unterscheiden können. Die Anzahl dieser Skripts muss der Anzahl der konfigurierten Clients entsprechen.

Die Ergebnisse werden im angegebenen Verzeichnis abgelegt und sind die Basis zur Ermittlung der Operationen, die innerhalb eines definierten Zeitraums ausgeführt werden können. Die von Mindcraft definierte Maßeinheit ist DOPS (DirectoryMark Operation per Seconds), die als Vergleich gewählt wird.